public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v1 00/16] Refactor (k)symtab reader
@ 2020-06-19 21:42 Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 01/16] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
                   ` (17 more replies)
  0 siblings, 18 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The current implementation that reads the symtab and the ksymtab has grown
over time from simple symtab reading to way more complex ksymtab reading
including taking care of little details like position relative relocations,
symbol namespaces, etc. Yet, more features are coming to the Linux kernels that
make this parsing even more tricky: Further changes to the ksymtab layout and
different needs to lookup symbols caused by features like LTO (causing RELA
relocations in the ksymtab entries) and CFI (causing additional jump table
symbols) that are highly confusing the meaning of ksymtab entries and make it
increasingly challenging for a static analysis tool like libabigail to properly
process the ksymtab values.

This added complexity also adds more and more responsibilities to the
read_context that already has a lot of different tasks to juggle. It gets
increasingly difficult to ensure, further development in the dwarf reader can
be done without subtly regressing existing functionality.

Hence, attempt a refactoring (one could argue: rewrite, but a lot of
functionality is just migrated out) of the symtab reading code.

The first 2 commits set up some prerequisites, like a partial backport of
std::optional and enabling std::bind and friends.

Commit 3 and 4 modify abg-ir's elf_symbol to be able to carry 'is_suppressed'
and 'is_in_ksymtab'.

Commit 5 and 6 implement the new symtab reader.

The abg-symtab-reader has been introduced as an instance decoupled from dwarf
readers' read_context. This reduces the responsibilities of the dwarf reader
and separates the functionality into a new compilation unit. It contains
several components to make the main component 'symtab' easy to access and to
query. Refer to the extensive commit message there for details. The actual
core of the symtab reading has been taken as a base, but refactored where
useful. The ksymtab reading could be simplified by processing the corresponding
__ksymtab_* entries directly from symtab without the need to interpret the
binary ksymtab sections. That also resolves issues with wrong ksymtab reading:
Mapping from the ksymtab symbol address to the symtab entry might leave us with
a non-main symbol and hence leads to incorrect results. E.g. symbols like
strlen are implemented as __pi_strlen and are aliases to strlen in the kernel.
Only by reading the ksymtab entries we can decide which symbol to keep.
Otherwise we get indeterministic results. Furthermore, symbol whitelists might
list one or the other leading to issues of suppressed symbols for which we
might just see the wrong symbol and therefore suppress both from analysis.
In addition, detecting the format of the ksymtab, requires the first entry to
be a valid elf_symbol, which is not the case if filtered out via whitelist or
suppression. Finally, features like CFI require name based lookup into the
ksymtab and LTO with clang on aarch64 might make the ksymtab contain
relocatable entries. This is additional complexity hitting the dwarf reader.
Those are subtle issues that motivated this series.

Conceptionally, the new reader works quite similar. Except for the way
suppressions are applied: Instead of discarding symbols while reading, we flag
symbols as suppressed and keep them around for lookup purposes. That resolves
issues when dealing with symbol aliases.

Commit 7 integrates the new symtab reader into the existing code - side by side
with the current implementation.

Commits 8 - 12 migrate more and more symtab users over to the new symtab
reader, including the ksymtab functionality in commit 12 where the old
implementation could be obsoleted.

Commits 13 and 14 re-add the ppc64 support for ELFv1 binaries.

Commits 15 and 16 remove now obsolete functionality and remove the now old
implementation.

Performance testing has been done with an 'allmodconfig' kernel config. That is
the worst case for kernels and representing the 'distribution kernel' use case.
During those tests, no significant performance impact could be measured.

In addition, various Android Kernels in various configurations have been tested
with this. The earlier added tests for reading symtab and ksymtab obviously
pass.

Cheers,
Matthias

Matthias Maennich (16):
  abg-cxx-compat: add simplified version of std::optional
  abg-cxx-compat: more <functional> support: std::bind and friends
  abg-ir: elf_symbol: add is_in_ksymtab field
  abg-ir: elf_symbol: add is_suppressed field
  dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
  Refactor ELF symbol table reading by adding a new symtab reader
  Integrate new symtab reader into corpus and read_context
  corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  corpus: make get_unreferenced_(function|variable)_symbols use the new
    symtab
  abg-reader: avoid using the (var|function)_symbol_map
  dwarf-reader: read_context: use new symtab in *_symbols_is_exported
  Switch kernel stuff over to new symtab and drop unused code
  abg-elf-helpers: migrate ppc64 specific helpers
  symtab_reader: add support for ppc64 ELFv1 binaries
  abg-corpus: remove symbol maps and their setters
  dwarf reader: drop (now) unused code related symbol table reading

 include/Makefile.am                           |    3 +-
 include/abg-corpus.h                          |   24 +-
 include/abg-cxx-compat.h                      |  100 +
 include/abg-dwarf-reader.h                    |    6 -
 include/abg-fwd.h                             |    8 +
 include/abg-ir.h                              |   42 +-
 include/abg-symtab-reader.h                   |  416 +++
 src/Makefile.am                               |    1 +
 src/abg-corpus-priv.h                         |   57 +-
 src/abg-corpus.cc                             |  645 ++---
 src/abg-dwarf-reader.cc                       | 2331 ++---------------
 src/abg-elf-helpers.cc                        |  186 ++
 src/abg-elf-helpers.h                         |    8 +
 src/abg-ir.cc                                 |  120 +-
 src/abg-reader.cc                             |   43 +-
 src/abg-symtab-reader.cc                      |  436 +++
 src/abg-tools-utils.cc                        |   13 -
 src/abg-writer.cc                             |   38 +-
 tests/Makefile.am                             |    4 +
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |    5 -
 tests/data/test-symtab/basic/no_debug_info.c  |    2 +-
 tests/data/test-symtab/basic/no_debug_info.so |  Bin 15360 -> 15544 bytes
 tests/test-cxx-compat.cc                      |   51 +
 tests/test-symtab-reader.cc                   |   53 +
 tests/test-symtab.cc                          |   30 +-
 tools/abidw.cc                                |    2 -
 26 files changed, 1914 insertions(+), 2710 deletions(-)
 create mode 100644 include/abg-symtab-reader.h
 create mode 100644 src/abg-symtab-reader.cc
 create mode 100644 tests/test-symtab-reader.cc

-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 01/16] abg-cxx-compat: add simplified version of std::optional
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 02/16] abg-cxx-compat: more <functional> support: std::bind and friends Matthias Maennich
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In the absence (but desire) of std::optional<T>, add a simplified
version of it to abg_compat:: in case we are compiling with a pre-C++17
standard. Otherwise use std::optional from <optional> directly.

This is being used by a later patch and serves as a prerequisite.
It only serves the purpose of being a compatibility implementation and
does not claim to be complete at all. Just enough for the project's
needs.

	* include/abg-cxx-compat.h (abg_compat::optional): Add new class.
	* tests/tests-cxx-compat.cc: Add new test cases.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-cxx-compat.h | 86 ++++++++++++++++++++++++++++++++++++++++
 tests/test-cxx-compat.cc | 51 ++++++++++++++++++++++++
 2 files changed, 137 insertions(+)

diff --git a/include/abg-cxx-compat.h b/include/abg-cxx-compat.h
index 714177183945..1283e9191d46 100644
--- a/include/abg-cxx-compat.h
+++ b/include/abg-cxx-compat.h
@@ -23,6 +23,8 @@
 #ifndef __ABG_CXX_COMPAT_H
 #define __ABG_CXX_COMPAT_H
 
+// C++11 support (mostly via tr1 if compiled with earlier standard)
+
 #if __cplusplus >= 201103L
 
 #include <functional>
@@ -39,6 +41,18 @@
 
 #endif
 
+// C++17 support (via custom implementations if compiled with earlier standard)
+
+#if __cplusplus >= 201703L
+
+#include <optional>
+
+#else
+
+#include <stdexcept> // for throwing std::runtime_error("bad_optional_access")
+
+#endif
+
 namespace abg_compat {
 
 #if __cplusplus >= 201103L
@@ -77,6 +91,78 @@ using std::tr1::unordered_set;
 
 #endif
 
+#if __cplusplus >= 201703L
+
+using std::optional;
+
+#else
+
+// <optional>
+
+/// Simplified implementation of std::optional just enough to be used as a
+/// replacement for our purposes and when compiling with pre C++17.
+///
+/// The implementation intentionally does not support a whole lot of features
+/// to minimize the maintainence effort with this.
+template <typename T> class optional
+{
+  bool has_value_;
+  T    value_;
+
+public:
+  optional() : has_value_(false), value_() {}
+  optional(const T& value) : has_value_(true), value_(value) {}
+
+  bool
+  has_value() const
+  {
+    return has_value_;
+  }
+
+  const T&
+  value() const
+  {
+    if (!has_value_)
+      throw std::runtime_error("bad_optional_access");
+    return value_;
+  }
+
+  const T
+  value_or(const T& default_value) const
+  {
+    if (!has_value_)
+      return default_value;
+    return value_;
+  }
+
+  const T&
+  operator*() const
+  { return value_; }
+
+  T&
+  operator*()
+  { return value_; }
+
+  const T*
+  operator->() const
+  { return &value_; }
+
+  T*
+  operator->()
+  { return &value_; }
+
+  optional&
+  operator=(const T& value)
+  {
+    has_value_ = true;
+    value_ = value;
+    return *this;
+  }
+
+  explicit operator bool() const { return has_value_; }
+};
+
+#endif
 }
 
 #endif  // __ABG_CXX_COMPAT_H
diff --git a/tests/test-cxx-compat.cc b/tests/test-cxx-compat.cc
index 0a230a54e1a5..adeb7b8d7e4f 100644
--- a/tests/test-cxx-compat.cc
+++ b/tests/test-cxx-compat.cc
@@ -28,3 +28,54 @@
 
 #include "abg-cxx-compat.h"
 
+using abg_compat::optional;
+
+TEST_CASE("OptionalConstruction", "[abg_compat::optional]")
+{
+  optional<bool> opt1;
+  REQUIRE_FALSE(opt1.has_value());
+
+  optional<bool> opt2(true);
+  REQUIRE(opt2.has_value());
+  CHECK(opt2.value() == true);
+
+  optional<bool> opt3(false);
+  REQUIRE(opt3.has_value());
+  CHECK(opt3.value() == false);
+}
+
+TEST_CASE("OptionalValue", "[abg_compat::optional]")
+{
+  optional<bool> opt;
+  REQUIRE_FALSE(opt.has_value());
+  REQUIRE_THROWS(opt.value());
+
+  opt = true;
+  REQUIRE_NOTHROW(opt.value());
+  CHECK(opt.value() == true);
+}
+
+TEST_CASE("OptionalValueOr", "[abg_compat::optional]")
+{
+  optional<std::string> opt;
+  REQUIRE_FALSE(opt.has_value());
+
+  const std::string& mine = "mine";
+  // Ensure we get a copy of our own value.
+  CHECK(opt.value_or(mine) == mine);
+
+  // Now set the value
+  const std::string& other = "other";
+  opt = other;
+  CHECK(opt.value_or(mine) != mine);
+  CHECK(opt.value_or(mine) == other);
+}
+
+TEST_CASE("OptionalDeref", "[abg_compat::optional]")
+{
+  optional<std::string> opt("asdf");
+  REQUIRE(opt.has_value());
+
+  CHECK(*opt == "asdf");
+  CHECK(opt->size() == 4);
+}
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 02/16] abg-cxx-compat: more <functional> support: std::bind and friends
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 01/16] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 03/16] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Add abg_compat::{bind,function,placeholders} to the compatibility layer.
That is made use of in a later patch. As usual, for C++ standards that
natively support this functionality (C++11 and later), the native
implementation is aliased into the abg_compat namespace.

	* include/abg-cxx-compat.h: add support for
	  abg_compat::{bind,function,placeholders}

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-cxx-compat.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/include/abg-cxx-compat.h b/include/abg-cxx-compat.h
index 1283e9191d46..cab2883b231e 100644
--- a/include/abg-cxx-compat.h
+++ b/include/abg-cxx-compat.h
@@ -58,8 +58,15 @@ namespace abg_compat {
 #if __cplusplus >= 201103L
 
 // <functional>
+using std::bind;
+using std::function;
 using std::hash;
 
+namespace placeholders
+{
+using namespace std::placeholders;
+}
+
 // <memory>
 using std::shared_ptr;
 using std::weak_ptr;
@@ -75,8 +82,15 @@ using std::unordered_set;
 #else
 
 // <functional>
+using std::tr1::bind;
+using std::tr1::function;
 using std::tr1::hash;
 
+namespace placeholders
+{
+using namespace std::tr1::placeholders;
+}
+
 // <memory>
 using std::tr1::shared_ptr;
 using std::tr1::weak_ptr;
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 03/16] abg-ir: elf_symbol: add is_in_ksymtab field
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 01/16] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 02/16] abg-cxx-compat: more <functional> support: std::bind and friends Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 04/16] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Being exported through a ksymtab (in case of Linux Kernel binaries) is
actually a property of the Elf symbol itself and we can therefore track
it along with the symbol that we collect from symtab. While tracking is
currently done by keeping separate symbol lists and maps for symtab and
ksymtab symbols, they can be consolidated having a property to indicate
whether this symbol also appeared as a ksymtab entry.

Hence, and for future changes in this area, add this property and update
all references. The flag is false initially unless otherwise specified.

	* include/abg-ir.h (elf_symbol::elf_symbol): Add is_in_ksymtab
	parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::is_in_ksymtab): New getter declaration.
	(elf_symbol::set_is_in_ksymtab): New setter declaration.
	* src/abg-ir.cc (elf_symbol::priv::priv): Add is_in_ksymtab
	parameter.
	(elf_symbol::priv::is_in_ksymtab_): New field.
	(elf_symbol::elf_symbol): Add is_in_ksymtab parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::is_in_ksymtab): New getter implementation.
	(elf_symbol::set_is_in_ksymtab): New setter implementation.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h |  34 +++++++++------
 src/abg-ir.cc    | 105 +++++++++++++++++++++++++++++------------------
 2 files changed, 86 insertions(+), 53 deletions(-)

diff --git a/include/abg-ir.h b/include/abg-ir.h
index d81de217702b..5766385c8b73 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -851,8 +851,9 @@ private:
 	     bool		d,
 	     bool		c,
 	     const version&	ve,
-	     visibility	vi,
-	     bool		is_linux_string_cst = false);
+	     visibility		vi,
+	     bool		is_linux_string_cst = false,
+	     bool		is_in_ksymtab = false);
 
   elf_symbol(const elf_symbol&);
 
@@ -865,17 +866,18 @@ public:
   create();
 
   static elf_symbol_sptr
-  create(const environment*	e,
-	 size_t		i,
-	 size_t		s,
-	 const string&		n,
-	 type			t,
-	 binding		b,
-	 bool			d,
-	 bool			c,
-	 const version&	ve,
-	 visibility		vi,
-	 bool			is_linux_string_cst = false);
+  create(const environment* e,
+	 size_t		    i,
+	 size_t		    s,
+	 const string&	    n,
+	 type		    t,
+	 binding	    b,
+	 bool		    d,
+	 bool		    c,
+	 const version&	    ve,
+	 visibility	    vi,
+	 bool		    is_linux_string_cst = false,
+	 bool		    is_in_ksymtab = false);
 
   const environment*
   get_environment() const;
@@ -943,6 +945,12 @@ public:
   bool
   is_variable() const;
 
+  bool
+  is_in_ksymtab() const;
+
+  void
+  set_is_in_ksymtab(bool is_in_ksymtab);
+
   const elf_symbol_sptr
   get_main_symbol() const;
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index da3716d503e0..44021132b04d 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1300,6 +1300,7 @@ struct elf_symbol::priv
   //     STT_COMMON definition of that name that has the largest size.
   bool			is_common_;
   bool			is_linux_string_cst_;
+  bool			is_in_ksymtab_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
   elf_symbol_wptr	next_common_instance_;
@@ -1314,20 +1315,22 @@ struct elf_symbol::priv
       visibility_(elf_symbol::DEFAULT_VISIBILITY),
       is_defined_(false),
       is_common_(false),
-      is_linux_string_cst_(false)
+      is_linux_string_cst_(false),
+      is_in_ksymtab_(false)
   {}
 
-  priv(const environment*		e,
-       size_t				i,
-       size_t				s,
-       const string&			n,
-       elf_symbol::type		t,
-       elf_symbol::binding		b,
-       bool				d,
-       bool				c,
-       const elf_symbol::version&	ve,
-       elf_symbol::visibility		vi,
-       bool				is_linux_string_cst)
+  priv(const environment*	  e,
+       size_t			  i,
+       size_t			  s,
+       const string&		  n,
+       elf_symbol::type		  t,
+       elf_symbol::binding	  b,
+       bool			  d,
+       bool			  c,
+       const elf_symbol::version& ve,
+       elf_symbol::visibility	  vi,
+       bool			  is_linux_string_cst,
+       bool			  is_in_ksymtab)
     : env_(e),
       index_(i),
       size_(s),
@@ -1338,7 +1341,8 @@ struct elf_symbol::priv
       visibility_(vi),
       is_defined_(d),
       is_common_(c),
-      is_linux_string_cst_(is_linux_string_cst)
+      is_linux_string_cst_(is_linux_string_cst),
+      is_in_ksymtab_(is_in_ksymtab)
   {
     if (!is_common_)
       is_common_ = type_ == COMMON_TYPE;
@@ -1384,19 +1388,30 @@ elf_symbol::elf_symbol()
 ///
 /// @param is_linux_string_cst true if the symbol is a Linux Kernel
 /// string constant defined in the __ksymtab_strings section.
-elf_symbol::elf_symbol(const environment*	e,
-		       size_t			i,
-		       size_t			s,
-		       const string&		n,
-		       type			t,
-		       binding			b,
-		       bool			d,
-		       bool			c,
-		       const version&		ve,
-		       visibility		vi,
-		       bool			is_linux_string_cst)
-  : priv_(new priv(e, i, s, n, t, b, d,
-		   c, ve, vi, is_linux_string_cst))
+elf_symbol::elf_symbol(const environment* e,
+		       size_t		  i,
+		       size_t		  s,
+		       const string&	  n,
+		       type		  t,
+		       binding		  b,
+		       bool		  d,
+		       bool		  c,
+		       const version&	  ve,
+		       visibility	  vi,
+		       bool		  is_linux_string_cst,
+		       bool		  is_in_ksymtab)
+  : priv_(new priv(e,
+		   i,
+		   s,
+		   n,
+		   t,
+		   b,
+		   d,
+		   c,
+		   ve,
+		   vi,
+		   is_linux_string_cst,
+		   is_in_ksymtab))
 {}
 
 /// Factory of instances of @ref elf_symbol.
@@ -1443,20 +1458,22 @@ elf_symbol::create()
 /// @return a (smart) pointer to a newly created instance of @ref
 /// elf_symbol.
 elf_symbol_sptr
-elf_symbol::create(const environment*	e,
-		   size_t		i,
-		   size_t		s,
-		   const string&	n,
-		   type		t,
-		   binding		b,
-		   bool		d,
-		   bool		c,
-		   const version&	ve,
-		   visibility		vi,
-		   bool		is_linux_string_cst)
-{
-  elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve,
-				     vi, is_linux_string_cst));
+elf_symbol::create(const environment* e,
+		   size_t	      i,
+		   size_t	      s,
+		   const string&      n,
+		   type		      t,
+		   binding	      b,
+		   bool		      d,
+		   bool		      c,
+		   const version&     ve,
+		   visibility	      vi,
+		   bool		      is_linux_string_cst,
+		   bool		      is_in_ksymtab)
+{
+  elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
+				     is_linux_string_cst,
+				     is_in_ksymtab));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1676,6 +1693,14 @@ bool
 elf_symbol::is_variable() const
 {return get_type() == OBJECT_TYPE || get_type() == TLS_TYPE;}
 
+bool
+elf_symbol::is_in_ksymtab() const
+{return priv_->is_in_ksymtab_;}
+
+void
+elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
+{priv_->is_in_ksymtab_ = is_in_ksymtab;}
+
 /// @name Elf symbol aliases
 ///
 /// An alias A for an elf symbol S is a symbol that is defined at the
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 04/16] abg-ir: elf_symbol: add is_suppressed field
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (2 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 03/16] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-22  9:46   ` Giuliano Procida
  2020-06-19 21:42 ` [PATCH v1 05/16] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
                   ` (13 subsequent siblings)
  17 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In the context of libabigail and a single library run (when reading from
dwarf or from xml), a symbol is either suppressed or it is not. While
one could argue that this is a property of the read_context, the
read_context might not be around anymore when the symbol still is.
Hence, persist the 'is_suppressed' state along with the symbol itself.

        * include/abg-ir.h (elf_symbol::elf_symbol): Add is_suppressed
        parameter.
        (elf_symbol::create): Likewise.
        (elf_symbol::is_suppressed): New getter declaration.
        (elf_symbol::set_is_suppressed): New setter declaration.
        * src/abg-ir.cc (elf_symbol::priv::priv): Add is_suppressed
        parameter.
        (elf_symbol::priv::is_suppressed_): New field.
        (elf_symbol::elf_symbol): Add is_suppressed parameter.
        (elf_symbol::create): Likewise.
        (elf_symbol::is_suppressed): New getter implementation.
        (elf_symbol::set_is_suppressed): New setter implementation.

Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h | 12 ++++++++++--
 src/abg-ir.cc    | 29 ++++++++++++++++++++++-------
 2 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/include/abg-ir.h b/include/abg-ir.h
index 5766385c8b73..838d3f80695a 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -853,7 +853,8 @@ private:
 	     const version&	ve,
 	     visibility		vi,
 	     bool		is_linux_string_cst = false,
-	     bool		is_in_ksymtab = false);
+	     bool		is_in_ksymtab = false,
+	     bool		is_suppressed = false);
 
   elf_symbol(const elf_symbol&);
 
@@ -877,7 +878,8 @@ public:
 	 const version&	    ve,
 	 visibility	    vi,
 	 bool		    is_linux_string_cst = false,
-	 bool		    is_in_ksymtab = false);
+	 bool		    is_in_ksymtab = false,
+	 bool		    is_suppressed = false);
 
   const environment*
   get_environment() const;
@@ -951,6 +953,12 @@ public:
   void
   set_is_in_ksymtab(bool is_in_ksymtab);
 
+  bool
+  is_suppressed() const;
+
+  void
+  set_is_suppressed(bool is_suppressed);
+
   const elf_symbol_sptr
   get_main_symbol() const;
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 44021132b04d..44529c6617b0 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1301,6 +1301,7 @@ struct elf_symbol::priv
   bool			is_common_;
   bool			is_linux_string_cst_;
   bool			is_in_ksymtab_;
+  bool			is_suppressed_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
   elf_symbol_wptr	next_common_instance_;
@@ -1316,7 +1317,8 @@ struct elf_symbol::priv
       is_defined_(false),
       is_common_(false),
       is_linux_string_cst_(false),
-      is_in_ksymtab_(false)
+      is_in_ksymtab_(false),
+      is_suppressed_(false)
   {}
 
   priv(const environment*	  e,
@@ -1330,7 +1332,8 @@ struct elf_symbol::priv
        const elf_symbol::version& ve,
        elf_symbol::visibility	  vi,
        bool			  is_linux_string_cst,
-       bool			  is_in_ksymtab)
+       bool			  is_in_ksymtab,
+       bool			  is_suppressed)
     : env_(e),
       index_(i),
       size_(s),
@@ -1342,7 +1345,8 @@ struct elf_symbol::priv
       is_defined_(d),
       is_common_(c),
       is_linux_string_cst_(is_linux_string_cst),
-      is_in_ksymtab_(is_in_ksymtab)
+      is_in_ksymtab_(is_in_ksymtab),
+      is_suppressed_(is_suppressed)
   {
     if (!is_common_)
       is_common_ = type_ == COMMON_TYPE;
@@ -1399,7 +1403,8 @@ elf_symbol::elf_symbol(const environment* e,
 		       const version&	  ve,
 		       visibility	  vi,
 		       bool		  is_linux_string_cst,
-		       bool		  is_in_ksymtab)
+		       bool		  is_in_ksymtab,
+		       bool		  is_suppressed)
   : priv_(new priv(e,
 		   i,
 		   s,
@@ -1411,7 +1416,8 @@ elf_symbol::elf_symbol(const environment* e,
 		   ve,
 		   vi,
 		   is_linux_string_cst,
-		   is_in_ksymtab))
+		   is_in_ksymtab,
+		   is_suppressed))
 {}
 
 /// Factory of instances of @ref elf_symbol.
@@ -1469,11 +1475,12 @@ elf_symbol::create(const environment* e,
 		   const version&     ve,
 		   visibility	      vi,
 		   bool		      is_linux_string_cst,
-		   bool		      is_in_ksymtab)
+		   bool		      is_in_ksymtab,
+		   bool		      is_suppressed)
 {
   elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
 				     is_linux_string_cst,
-				     is_in_ksymtab));
+				     is_in_ksymtab, is_suppressed));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1701,6 +1708,14 @@ void
 elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
 {priv_->is_in_ksymtab_ = is_in_ksymtab;}
 
+bool
+elf_symbol::is_suppressed() const
+{return priv_->is_suppressed_;}
+
+void
+elf_symbol::set_is_suppressed(bool is_suppressed)
+{priv_->is_suppressed_ = is_suppressed;}
+
 /// @name Elf symbol aliases
 ///
 /// An alias A for an elf symbol S is a symbol that is defined at the
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 05/16] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (3 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 04/16] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 06/16] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

abg-symtab-reader.{h,cc} shall contain the refactored symtab reader.
Create the stub files, an empty unit test and hook everything up in the
make system.

    * include/abg-symtab-reader.h: New header file.
    * include/Makefile.am: Add new header file abg-symtab-reader.h.
    * src/Makefile.am: Add new source file abg-symtab-reader.cc.
    * src/abg-symtab-reader.cc: New source file.
    * tests/Makefile.am: Add new test case runtestsymtabreader.
    * tests/test-symtab-reader.cc: New test source file.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/Makefile.am         |  3 ++-
 include/abg-symtab-reader.h | 39 +++++++++++++++++++++++++++++++++++++
 src/Makefile.am             |  1 +
 src/abg-symtab-reader.cc    | 36 ++++++++++++++++++++++++++++++++++
 tests/Makefile.am           |  4 ++++
 tests/test-symtab-reader.cc | 30 ++++++++++++++++++++++++++++
 6 files changed, 112 insertions(+), 1 deletion(-)
 create mode 100644 include/abg-symtab-reader.h
 create mode 100644 src/abg-symtab-reader.cc
 create mode 100644 tests/test-symtab-reader.cc

diff --git a/include/Makefile.am b/include/Makefile.am
index b547525238ec..639906aafe5b 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -25,6 +25,7 @@ abg-version.h		\
 abg-viz-common.h	\
 abg-viz-dot.h		\
 abg-viz-svg.h		\
-abg-regex.h
+abg-regex.h		\
+abg-symtab-reader.h
 
 EXTRA_DIST = abg-version.h.in
diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h
new file mode 100644
index 000000000000..b61e6399fe93
--- /dev/null
+++ b/include/abg-symtab-reader.h
@@ -0,0 +1,39 @@
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// This file is part of the GNU Application Binary Interface Generic
+// Analysis and Instrumentation Library (libabigail).  This library is
+// free software; you can redistribute it and/or modify it under the
+// terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option) any
+// later version.
+
+// This library is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Lesser Public License for more details.
+
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; see the file COPYING-LGPLV3.  If
+// not, see <http://www.gnu.org/licenses/>.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This contains the declarations for the symtab reader.
+
+#ifndef __ABG_SYMTAB_READER_H__
+#define __ABG_SYMTAB_READER_H__
+
+namespace abigail
+{
+
+namespace symtab_reader
+{
+
+} // end namespace symtab_reader
+} // end namespace abigail
+
+#endif // __ABG_SYMTAB_READER_H__
diff --git a/src/Makefile.am b/src/Makefile.am
index 1153a5f8b158..dff17d9c02c1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -41,6 +41,7 @@ abg-tools-utils.cc			\
 abg-elf-helpers.h			\
 abg-elf-helpers.cc			\
 abg-regex.cc				\
+abg-symtab-reader.cc			\
 $(CXX11_SOURCES)
 
 libabigail_la_LIBADD = $(DEPS_LIBS)
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
new file mode 100644
index 000000000000..1f934d3a7609
--- /dev/null
+++ b/src/abg-symtab-reader.cc
@@ -0,0 +1,36 @@
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// This file is part of the GNU Application Binary Interface Generic
+// Analysis and Instrumentation Library (libabigail).  This library is
+// free software; you can redistribute it and/or modify it under the
+// terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option) any
+// later version.
+
+// This library is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Lesser Public License for more details.
+
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; see the file COPYING-LGPLV3.  If
+// not, see <http://www.gnu.org/licenses/>.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This contains the definition of the symtab reader
+
+#include "abg-symtab-reader.h"
+
+namespace abigail
+{
+
+namespace symtab_reader
+{
+
+} // end namespace symtab_reader
+} // end namespace abigail
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c2d4d1dc5d35..068725326b75 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -50,6 +50,7 @@ runtestkmiwhitelist		\
 runtestlookupsyms		\
 runtestreadwrite		\
 runtestsymtab			\
+runtestsymtabreader		\
 runtesttoolsutils		\
 $(FEDABIPKGDIFF_TEST) 		\
 $(ZIP_ARCHIVE_TESTS)		\
@@ -158,6 +159,9 @@ runtestcxxcompat_LDADD = libcatch.la $(top_builddir)/src/libabigail.la
 runtestsymtab_SOURCES = test-symtab.cc
 runtestsymtab_LDADD = libtestutils.la libcatch.la $(top_builddir)/src/libabigail.la
 
+runtestsymtabreader_SOURCES = test-symtab-reader.cc
+runtestsymtabreader_LDADD = libcatch.la $(top_builddir)/src/libabigail.la
+
 runtestsvg_SOURCES=test-svg.cc
 runtestsvg_LDADD=$(top_builddir)/src/libabigail.la
 
diff --git a/tests/test-symtab-reader.cc b/tests/test-symtab-reader.cc
new file mode 100644
index 000000000000..c2e30d661017
--- /dev/null
+++ b/tests/test-symtab-reader.cc
@@ -0,0 +1,30 @@
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// This file is part of the GNU Application Binary Interface Generic
+// Analysis and Instrumentation Library (libabigail).  This library is
+// free software; you can redistribute it and/or modify it under the
+// terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option) any
+// later version.
+
+// This library is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Lesser Public License for more details.
+
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; see the file COPYING-LGPLV3.  If
+// not, see <http://www.gnu.org/licenses/>.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This program tests libabigail's symtab reader.
+
+#include "lib/catch.hpp"
+
+#include "abg-symtab-reader.h"
+
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 06/16] Refactor ELF symbol table reading by adding a new symtab reader
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (4 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 05/16] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 07/16] Integrate new symtab reader into corpus and read_context Matthias Maennich
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Based on existing functionality, implement the reading of ELF symbol
tables as a separate component. This reduces the complexity of
abg-dwarf-reader's read_context by separating and delegating the
functionality. This also allows dedicated testing.

The new namespace symtab_reader contains a couple of new components that
work loosely coupled together. Together they allow for a consistent view
on a symbol table. With filter criteria those views can be restricted,
iterated and consistent lookup maps can be built on top of them. While
this implementation tries to address some shortcomings of the previous
model, it still provides the high level interfaces to the symbol table
contents through sorted iterating and name/address mapped access.

symtab_reader::symtab

  While the other classes in the same namespace are merely helpers, this
  is the main implementation of symtab reading and storage.
  Symtab objects are factory created to ensure a consistent construction
  and valid invariants. Thus a symtab will be loaded by either passing
  an ELF handle (when reading from binary) or by passing a set of
  function/variable symbol maps (when reading from XML).
  When constructed they are considered const and are not writable
  anymore. As such, all public methods are const.

  The load reuses the existing implementation for loading symtab
  sections, but since the new implementation does not distinguish
  between functions and variables, the code could be simplified. The
  support for ppc64 function entry addresses has been deferred to a
  later commit.

  Linux Kernel symbol tables are now directly loaded by name when
  encountering symbols prefixed with the __ksymtab_ as per convention.
  This has been tricky in the past due to various different binary
  layouts (relocations, position relative relocations, symbol
  namespaces, CFI indirections, differences between vmlinux and kernel
  modules). Thus the new implementation is much simpler and is less
  vulnerable to future ksymtab changes. As we are also not looking up
  the Kernel symbols by addresses, we could resolve shortcomings with
  symbol aliasing: Previously a symbol and its alias were
  indistinguishable as they are having the same symbol address. We could
  not identify the one that is actually exported via ksymtab.

  One major architectural difference of this implementation is that we
  do not early discard suppressed symbols. While we keep them out of the
  vector of exported symbols, we still make them available for lookup.
  That helps addressing issues when looking up a symbol by address (e.g.
  from the ksymtab read implementation) that is suppressed. That would
  fail in the existing implementation.

  Still, we intend to only instantiate each symbol once and pass around
  shared_ptr instances to refer to it from the vector as well as from
  the lookup maps.

  For reading, there are two access paths that serve the existing
  patterns:
	1) lookup_symbol: either via a name or an address
	2) filtered iteration with begin(), end()

  The former is used for direct access with a clue in hand (like a name
  or an address), the latter is used for iteration (e.g. when emitting
  the XML).

symtab_reader::symtab_iterator

  The symtab_iterator is an STL compatible iterator that is returned
  from begin() and end() of the symtab. It allows usual forward iterator
  operations and can optionally take a filter predicate to skip non
  matching elements.

symtab_reader::symtab_filter

  The symtab_filter serves as a predicate for the symtab_iterator by
  providing a matches(const elf_symbol_sptr&) function.  The predicate
  is built by ANDing together several conditions on attributes a symbol
  can have. The filter conditions are implemented in terms of
  std::optional<bool> members to allow a tristate: "needs to have the
  condition set", "must not have it set" and "don't care".

symtab_reader::symtab_filter_builder

  This is a convenient way of building filters with a builder pattern
  and a fluent interface. Hence, filters can be expressed neatly,
  expressive and precise. When instantiated, via symtab::make_filter(),
  the filter_builder is preset with suitable defaults. The
  filter_builder is convertable to a symtab_filter by passing on the
  local filter copy and therefore serving the fluent interface.

symtab_reader::filtered_symtab

  The filtered_symtab is a convenience zero cost abstraction that allows
  prepopulating the symtab_filter (call it a capture) such that begin()
  and end() are now accessible without the need to pass the filter
  again. Argumentless begin() and end() are a requirement for range-for
  loops and other STL based algorithms.

	* include/abg-symtab-reader.h (symtab_filter): New class.
	(symtab_filter_builder): Likewise.
	(symtab_iterator): Likewise.
	(symtab): Likewise.
	(filtered_symtab): Likewise.
	* src/abg-symtab-reader.cc (symtab_filter::matches): New.
	(symtab::make_filter): Likewise.
	(symtab::lookup_symbol): Likewise.
	(symbol_sort): Likewise.
	(symtab::load): Likewise.
	(symtab::load_): Likewise.
	* tests/test-symtab-reader.cc
	(default filter matches anything): New test case.
	(default filter built with filter_builder matches anything): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-symtab-reader.h | 371 +++++++++++++++++++++++++++++++++++-
 src/abg-symtab-reader.cc    | 313 ++++++++++++++++++++++++++++++
 tests/test-symtab-reader.cc |  23 +++
 3 files changed, 706 insertions(+), 1 deletion(-)

diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h
index b61e6399fe93..86335617d46a 100644
--- a/include/abg-symtab-reader.h
+++ b/include/abg-symtab-reader.h
@@ -27,12 +27,381 @@
 #ifndef __ABG_SYMTAB_READER_H__
 #define __ABG_SYMTAB_READER_H__
 
+#include <gelf.h>
+
+#include <iterator>
+#include <vector>
+
+#include "abg-cxx-compat.h"
+#include "abg-ir.h"
+
 namespace abigail
 {
-
 namespace symtab_reader
 {
 
+class symtab_filter_builder;
+
+/// The symtab filter is the object passed to the symtab object in order to
+/// iterate over the symbols in the symtab while applying filters.
+///
+/// The general idea is that it consists of a set of optionally enforced flags,
+/// such as 'functions' or 'variables'. If not set, those are not filtered for,
+/// neither inclusive nor exclusive. If set they are all ANDed together.
+class symtab_filter
+{
+public:
+  // The symtab_filter_builder helps us to build filters efficiently, hence
+  // let's be nice and grant access to our internals.
+  friend class symtab_filter_builder;
+
+  // Default constructor disabling all features.
+  symtab_filter() {}
+
+  /// Determine whether a symbol is matching the filter criteria of this filter
+  /// object. In terms of a filter functionality, you would _not_ filter out
+  /// this symbol if it passes this (i.e. returns true).
+  ///
+  /// @param symbol The Elf symbol under test.
+  ///
+  /// @return whether the symbol matches all relevant / required criteria
+  bool
+  matches(const elf_symbol_sptr& symbol) const;
+
+private:
+  // The symbol is a function (FUNC)
+  abg_compat::optional<bool> functions_;
+
+  // The symbol is a variables (OBJECT)
+  abg_compat::optional<bool> variables_;
+
+  // The symbol is publicly accessible (global/weak with default/protected
+  // visibility)
+  abg_compat::optional<bool> public_symbols_;
+
+  // The symbols is not defined (declared)
+  abg_compat::optional<bool> undefined_symbols_;
+
+  // The symbol is listed in the ksymtab (for Linux Kernel binaries).
+  abg_compat::optional<bool> kernel_symbols_;
+};
+
+/// Helper class to provide an attractive interface to build symtab_filters.
+///
+/// When constructed, the helper instantiates a default symtab_filter and
+/// allows modifications to it via builder pattern / fluent interface.
+///
+/// When assigned to a symtab_filter instance, it converts by returning the
+/// locally build symtab_filter instance.
+///
+/// Example usage:
+///
+///   const symtab_filter filter =
+///                symtab_filter_builder().functions().kernel_symbols();
+///
+/// In that case we would filter for the conjunction of function symbols that
+/// also appear in the ksymtab (i.e. kernel symbols).
+class symtab_filter_builder
+{
+public:
+  /// Enable inclusive / exclusive filtering for functions.
+  symtab_filter_builder&
+  functions(bool value = true)
+  { filter_.functions_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for variables.
+  symtab_filter_builder&
+  variables(bool value = true)
+  { filter_.variables_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for public symbols.
+  symtab_filter_builder&
+  public_symbols(bool value = true)
+  { filter_.public_symbols_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for undefined symbols.
+  symtab_filter_builder&
+  undefined_symbols(bool value = true)
+  { filter_.undefined_symbols_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for kernel symbols.
+  symtab_filter_builder&
+  kernel_symbols(bool value = true)
+  { filter_.kernel_symbols_ = value; return *this; }
+
+  /// Convert seamlessly to a symtab_filter instance.
+  ///
+  /// We could possibly validate the filter constellations here. For now, we
+  /// just return the local filter instance.
+  operator symtab_filter() { return filter_; }
+
+private:
+  /// Local symtab_filter instance that we build and eventually pass on.
+  symtab_filter filter_;
+};
+
+/// Base iterator for our custom iterator based on whatever the const_iterator
+/// is for a vector of symbols.
+/// As of writing this, std::vector<elf_symbol_sptr>::const_iterator.
+typedef elf_symbols::const_iterator base_iterator;
+
+/// An iterator to walk a vector of elf_symbols filtered by symtab_filter.
+///
+/// The implementation inherits all properties from the vector's
+/// const_iterator, but intercepts where necessary to allow effective
+/// filtering. This makes it a STL compatible iterator for general purpose
+/// usage.
+class symtab_iterator : public base_iterator
+{
+public:
+  typedef base_iterator::value_type	 value_type;
+  typedef base_iterator::reference	 reference;
+  typedef base_iterator::pointer	 pointer;
+  typedef base_iterator::difference_type difference_type;
+  typedef std::forward_iterator_tag	 iterator_category;
+
+  /// Construct the iterator based on a pair of underlying iterators and a
+  /// symtab_filter object. Immediately fast forward to the next element that
+  /// matches the criteria (if any).
+  symtab_iterator(base_iterator	       begin,
+		  base_iterator	       end,
+		  const symtab_filter& filter = symtab_filter())
+    : base_iterator(begin), end_(end), filter_(filter)
+  { skip_to_next(); }
+
+  /// Pre-increment operator to advance to the next matching element.
+  symtab_iterator&
+  operator++()
+  {
+    base_iterator::operator++();
+    skip_to_next();
+    return *this;
+  }
+
+  /// Post-increment operator to advance to the next matching element.
+  symtab_iterator
+  operator++(int)
+  {
+    symtab_iterator result(*this);
+    ++(*this);
+    return result;
+  }
+
+private:
+  /// The end of the underlying iterator.
+  const base_iterator end_;
+
+  /// The symtab_filter used to determine when to advance.
+  const symtab_filter& filter_;
+
+  /// Skip to the next element that matches the filter criteria (if any). Hold
+  /// off when reaching the end of the underlying iterator.
+  void
+  skip_to_next()
+  {
+    while (*this != end_ && !filter_.matches(**this))
+      ++(*this);
+  }
+};
+
+/// Convenience declaration of a shared_ptr<symtab>
+class symtab;
+typedef abg_compat::shared_ptr<symtab> symtab_sptr;
+
+/// symtab is the actual data container of the symtab_reader implementation.
+///
+/// The symtab is instantiated either via an Elf handle (from binary) or from a
+/// set of existing symbol maps (usually when instantiated from XML). It will
+/// then discover the symtab, possibly the ksymtab (for Linux Kernel binaries)
+/// and setup the data containers and lookup maps for later perusal.
+///
+/// The symtab is supposed to be used in a const context as all information is
+/// already computed at construction time. Symbols are stored sorted to allow
+/// deterministic reading of the entries.
+///
+/// An example use of the symtab class is
+///
+/// const symtab_sptr   tab    = symtab::load(elf_handle, env);
+/// const symtab_filter filter = tab->make_filter()
+///                              .public_symbols()
+///                              .functions();
+///
+/// for (symtab::const_iterator I = tab.begin(filter), E = tab.end();
+///                             I != E; ++I)
+///   {
+///       std::cout << (*I)->get_name() << "\n";
+///   }
+///
+/// C++11 and later allows a more brief syntax for the same:
+///
+///   for (const auto& symbol : filtered_symtab(*tab, filter))
+///     {
+///       std::cout << symbol->get_name() << "\n";
+///     }
+///
+/// This uses the filtered_symtab proxy object to capture the filter.
+class symtab
+{
+public:
+  typedef abg_compat::function<bool(const elf_symbol_sptr&)> symbol_predicate;
+
+  /// Indicate whether any (kernel) symbols have been seen at construction.
+  ///
+  /// @return true if there are symbols detected earlier.
+  bool
+  has_symbols() const
+  { return is_kernel_binary_ ? has_ksymtab_entries_ : !symbols_.empty(); }
+
+  /// Obtain a suitable default filter for iterating this symtab object.
+  ///
+  /// The symtab_filter_build obtained is populated with some sensible default
+  /// settings, such as public_symbols(true) and kernel_symbols(true) if the
+  /// binary has been identified as Linux Kernel binary.
+  ///
+  /// @return a symtab_filter_builder with sensible populated defaults
+  symtab_filter_builder
+  make_filter() const;
+
+  /// The (only) iterator type we offer is a const_iterator implemented by the
+  /// symtab_iterator.
+  typedef symtab_iterator const_iterator;
+
+  /// Obtain an iterator to the beginning of the symtab according to the filter
+  /// criteria. Whenever this iterator advances, it skips elements that do not
+  /// match the filter criteria.
+  ///
+  /// @param filter the symtab_filter to match symbols against
+  ///
+  /// @return a filtering const_iterator of the underlying type
+  const_iterator
+  begin(const symtab_filter& filter) const
+  { return symtab_iterator(symbols_.begin(), symbols_.end(), filter); }
+
+  /// Obtain an iterator to the end of the symtab.
+  ///
+  /// @return an end iterator
+  const_iterator
+  end() const
+  { return symtab_iterator(symbols_.end(), symbols_.end()); }
+
+  /// Get a vector of symbols that are associated with a certain name
+  ///
+  /// @param name the name the symbols need to match
+  ///
+  /// @return a vector of symbols, empty if no matching symbols have been found
+  const elf_symbols&
+  lookup_symbol(const std::string& name) const;
+
+  /// Lookup a symbol by its address
+  ///
+  /// @param symbol_addr the starting address of the symbol
+  ///
+  /// @return a symbol if found, else an empty sptr
+  const elf_symbol_sptr&
+  lookup_symbol(GElf_Addr symbol_addr) const;
+
+  /// Construct a symtab object and instantiate from an ELF handle. Also pass
+  /// in an ir::environment handle to interact with the context we are living
+  /// in. If specified, the symbol_predicate will be respected when creating
+  /// the full vector of symbols.
+  static symtab_sptr
+  load(Elf*		elf_handle,
+       ir::environment* env,
+       symbol_predicate is_suppressed = NULL);
+
+  /// Construct a symtab object from existing name->symbol lookup maps.
+  /// They were possibly read from a different representation (XML maybe).
+  static symtab_sptr
+  load(string_elf_symbols_map_sptr function_symbol_map,
+       string_elf_symbols_map_sptr variables_symbol_map);
+
+private:
+  /// Default constructor. Private to enforce creation by factory methods.
+  symtab();
+
+  /// The vector of symbols we discovered.
+  elf_symbols symbols_;
+
+  /// Whether this is a Linux Kernel binary
+  bool is_kernel_binary_;
+
+  /// Whether this kernel_binary has ksymtab entries
+  ///
+  /// A kernel module might not have a ksymtab if it does not export any
+  /// symbols. In order to quickly decide whether the symbol table is empty, we
+  /// remember whether we ever saw ksymtab entries.
+  bool has_ksymtab_entries_;
+
+  /// Lookup map name->symbol(s)
+  typedef abg_compat::unordered_map<std::string, std::vector<elf_symbol_sptr> >
+		       name_symbol_map_type;
+  name_symbol_map_type name_symbol_map_;
+
+  /// Lookup map name->symbol
+  typedef abg_compat::unordered_map<GElf_Addr, elf_symbol_sptr>
+		       addr_symbol_map_type;
+  addr_symbol_map_type addr_symbol_map_;
+
+  /// Load the symtab representation from an Elf binary presented to us by an
+  /// Elf* handle.
+  ///
+  /// This method iterates over the entries of .symtab and collects all
+  /// interesting symbols (functions and variables).
+  ///
+  /// In case of a Linux Kernel binary, it also collects information about the
+  /// symbols exported via EXPORT_SYMBOL in the Kernel that would then end up
+  /// having a corresponding __ksymtab entry.
+  ///
+  /// Symbols that are suppressed will be omitted from the symbols_ vector, but
+  /// still be discoverable through the name->symbol and addr->symbol lookup
+  /// maps.
+  bool
+  load_(Elf* elf_handle, ir::environment* env, symbol_predicate is_suppressed);
+
+  /// Load the symtab representation from a function/variable lookup map pair.
+  ///
+  /// This method assumes the lookup maps are correct and sets up the data
+  /// vector as well as the name->symbol lookup map. The addr->symbol lookup
+  /// map cannot be set up in this case.
+  bool
+  load_(string_elf_symbols_map_sptr function_symbol_map,
+       string_elf_symbols_map_sptr variables_symbol_map);
+};
+
+/// Helper class to allow range-for loops on symtabs for C++11 and later code.
+/// It serves as a proxy for the symtab iterator and provides a begin() method
+/// without arguments, as required for range-for loops (and possibly other
+/// iterator based transformations).
+///
+/// Example usage:
+///
+///   for (const auto& symbol : filtered_symtab(tab, filter))
+///     {
+///       std::cout << symbol->get_name() << "\n";
+///     }
+///
+class filtered_symtab
+{
+  const symtab&	      tab_;
+  const symtab_filter filter_;
+
+public:
+  /// Construct the proxy object keeping references to the underlying symtab
+  /// and the filter object.
+  filtered_symtab(const symtab& tab, const symtab_filter& filter)
+    : tab_(tab), filter_(filter) { }
+
+  /// Pass through symtab.begin(), but also pass on the filter.
+  symtab::const_iterator
+  begin() const
+  { return tab_.begin(filter_); }
+
+  /// Pass through symtab.end().
+  symtab::const_iterator
+  end() const
+  { return tab_.end(); }
+};
+
 } // end namespace symtab_reader
 } // end namespace abigail
 
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index 1f934d3a7609..c98b9174490c 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -1,5 +1,6 @@
 // -*- Mode: C++ -*-
 //
+// Copyright (C) 2013-2020 Red Hat, Inc.
 // Copyright (C) 2020 Google, Inc.
 //
 // This file is part of the GNU Application Binary Interface Generic
@@ -24,7 +25,18 @@
 ///
 /// This contains the definition of the symtab reader
 
+#include <algorithm>
+#include <iostream>
+
+#include "abg-cxx-compat.h"
+#include "abg-elf-helpers.h"
+#include "abg-fwd.h"
+#include "abg-internal.h"
+#include "abg-tools-utils.h"
+
+ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-symtab-reader.h"
+ABG_END_EXPORT_DECLARATIONS
 
 namespace abigail
 {
@@ -32,5 +44,306 @@ namespace abigail
 namespace symtab_reader
 {
 
+/// symtab_filter implementations
+
+bool
+symtab_filter::matches(const elf_symbol_sptr& symbol) const
+{
+  if (functions_ && *functions_ != symbol->is_function())
+    return false;
+  if (variables_ && *variables_ != symbol->is_variable())
+    return false;
+  if (public_symbols_ && *public_symbols_ != symbol->is_public())
+    return false;
+  if (undefined_symbols_ && *undefined_symbols_ == symbol->is_defined())
+    return false;
+  if (kernel_symbols_ && *kernel_symbols_ != symbol->is_in_ksymtab())
+    return false;
+
+  return true;
+}
+
+/// symtab implementations
+
+symtab_filter_builder
+symtab::make_filter() const
+{
+  symtab_filter_builder builder;
+  builder.public_symbols();
+  if (is_kernel_binary_)
+    builder.kernel_symbols();
+  return builder;
+}
+
+const elf_symbols&
+symtab::lookup_symbol(const std::string& name) const
+{
+  static const elf_symbols empty_result;
+  const name_symbol_map_type::const_iterator it = name_symbol_map_.find(name);
+  if (it != name_symbol_map_.end())
+    {
+      return it->second;
+    }
+  return empty_result;
+}
+
+const elf_symbol_sptr&
+symtab::lookup_symbol(GElf_Addr symbol_addr) const
+{
+  static const elf_symbol_sptr empty_result;
+  const addr_symbol_map_type::const_iterator it =
+      addr_symbol_map_.find(symbol_addr);
+  if (it != addr_symbol_map_.end())
+    {
+      return it->second;
+    }
+  return empty_result;
+}
+
+/// A symbol sorting functor.
+static struct
+{
+  bool
+  operator()(const elf_symbol_sptr& left, const elf_symbol_sptr& right)
+  { return left->get_id_string() < right->get_id_string(); }
+} symbol_sort;
+
+symtab_sptr
+symtab::load(Elf*	      elf_handle,
+	     ir::environment* env,
+	     symbol_predicate is_suppressed)
+{
+  ABG_ASSERT(elf_handle);
+  ABG_ASSERT(env);
+
+  symtab_sptr result(new symtab);
+  if (!result->load_(elf_handle, env, is_suppressed))
+    return symtab_sptr();
+
+  return result;
+}
+
+symtab_sptr
+symtab::load(string_elf_symbols_map_sptr function_symbol_map,
+	     string_elf_symbols_map_sptr variables_symbol_map)
+{
+  symtab_sptr result(new symtab);
+  if (!result->load_(function_symbol_map, variables_symbol_map))
+    return symtab_sptr();
+
+  return result;
+}
+
+symtab::symtab() : is_kernel_binary_(false), has_ksymtab_entries_(false) {}
+
+bool
+symtab::load_(Elf*	       elf_handle,
+	      ir::environment* env,
+	      symbol_predicate is_suppressed)
+{
+
+  Elf_Scn* symtab_section = elf_helpers::find_symbol_table_section(elf_handle);
+  if (!symtab_section)
+    {
+      std::cerr << "No symbol table found: Skipping symtab load.\n";
+      return false;
+    }
+
+  GElf_Shdr symtab_sheader;
+  gelf_getshdr(symtab_section, &symtab_sheader);
+
+  // check for bogus section header
+  if (symtab_sheader.sh_entsize == 0)
+    {
+      std::cerr << "Invalid symtab header found: Skipping symtab load.\n";
+      return false;
+    }
+
+  const size_t number_syms =
+      symtab_sheader.sh_size / symtab_sheader.sh_entsize;
+
+  Elf_Data* symtab = elf_getdata(symtab_section, 0);
+  if (!symtab)
+    {
+      std::cerr << "Could not load elf symtab: Skipping symtab load.\n";
+      return false;
+    }
+
+  const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
+  abg_compat::unordered_set<std::string> exported_kernel_symbols;
+
+  for (size_t i = 0; i < number_syms; ++i)
+    {
+      GElf_Sym *sym, sym_mem;
+      sym = gelf_getsym(symtab, i, &sym_mem);
+      if (!sym)
+	{
+	  std::cerr << "Could not load symbol with index " << i
+		    << ": Skipping symtab load.\n";
+	  return false;
+	}
+
+      const char* name_str =
+	  elf_strptr(elf_handle, symtab_sheader.sh_link, sym->st_name);
+
+      // no name, no game
+      if (!name_str)
+	continue;
+
+      // Handle ksymtab entries. Every symbol entry that starts with __ksymtab_
+      // indicates that the symbol in question is exported through ksymtab. We
+      // do not know whether this is ksymtab_gpl or ksymtab, but that is good
+      // enough for now.
+      //
+      // We could follow up with this entry:
+      //
+      // symbol_value -> ksymtab_entry in either ksymtab_gpl or ksymtab
+      //              -> addr/name/namespace (in case of PREL32: offset)
+      //
+      // That way we could also detect ksymtab<>ksymtab_gpl changes or changes
+      // of the symbol namespace.
+      //
+      // As of now this lookup is fragile, as occasionally ksymtabs are empty
+      // (seen so far for kernel modules and LTO builds). Hence we stick to the
+      // fairly safe assumption that ksymtab exported entries are having an
+      // appearence as __ksymtab_<symbol> in the symtab.
+      const std::string name = name_str;
+      if (is_kernel && name.rfind("__ksymtab_", 0) == 0)
+	{
+	  ABG_ASSERT(exported_kernel_symbols.insert(name.substr(10)).second);
+	  continue;
+	}
+
+      // filter out uninteresting entries and only keep functions/variables for
+      // now. The rest might be interesting in the future though.
+      const int sym_type = GELF_ST_TYPE(sym->st_info);
+      if (!(sym_type == STT_FUNC
+	    || sym_type == STT_GNU_IFUNC
+	    // If the symbol is for an OBJECT, the index of the
+	    // section it refers to cannot be absolute.
+	    // Otherwise that OBJECT is not a variable.
+	    || (sym_type == STT_OBJECT && sym->st_shndx != SHN_ABS)
+	    || sym_type == STT_TLS))
+	continue;
+
+      const bool sym_is_defined = sym->st_shndx != SHN_UNDEF;
+      // this occurs in relocatable files.
+      const bool sym_is_common = sym->st_shndx == SHN_COMMON;
+
+      elf_symbol::version ver;
+      elf_helpers::get_version_for_symbol(elf_handle, i, sym_is_defined, ver);
+
+      const elf_symbol_sptr& symbol_sptr = elf_symbol::create(
+	  env, i, sym->st_size, name,
+	  elf_helpers::stt_to_elf_symbol_type(GELF_ST_TYPE(sym->st_info)),
+	  elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)),
+	  sym_is_defined, sym_is_common, ver,
+	  elf_helpers::stv_to_elf_symbol_visibility(
+	      GELF_ST_VISIBILITY(sym->st_other)),
+	  false); // TODO: is_linux_strings_cstr
+
+      // We do not take suppressed symbols into our symbol vector to avoid
+      // accidental leakage. But we ensure supressed symbols are otherwise set
+      // up for lookup.
+      if (!(is_suppressed && is_suppressed(symbol_sptr)))
+	// add to the symbol vector
+	symbols_.push_back(symbol_sptr);
+      else
+	symbol_sptr->set_is_suppressed(true);
+
+      // add to the name->symbol lookup
+      name_symbol_map_[name].push_back(symbol_sptr);
+
+      // add to the addr->symbol lookup
+      if (symbol_sptr->is_common_symbol())
+	{
+	  const name_symbol_map_type::iterator it =
+	      name_symbol_map_.find(name);
+	  ABG_ASSERT(it != name_symbol_map_.end());
+	  const elf_symbols& common_sym_instances = it->second;
+	  ABG_ASSERT(!common_sym_instances.empty());
+	  if (common_sym_instances.size() > 1)
+	    {
+	      elf_symbol_sptr main_common_sym = common_sym_instances[0];
+	      ABG_ASSERT(main_common_sym->get_name() == name);
+	      ABG_ASSERT(main_common_sym->is_common_symbol());
+	      ABG_ASSERT(symbol_sptr.get() != main_common_sym.get());
+	      main_common_sym->add_common_instance(symbol_sptr);
+	    }
+	}
+      else if (symbol_sptr->is_defined())
+	{
+	  const GElf_Addr symbol_value =
+	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
+								    sym);
+
+	  const std::pair<addr_symbol_map_type::const_iterator, bool> result =
+	      addr_symbol_map_.insert(
+		  std::make_pair(symbol_value, symbol_sptr));
+	  if (!result.second)
+	    result.first->second->get_main_symbol()->add_alias(symbol_sptr);
+	}
+    }
+
+  is_kernel_binary_ = elf_helpers::is_linux_kernel(elf_handle);
+
+  // Now apply the ksymtab_exported attribute to the symbols we collected.
+  for (abg_compat::unordered_set<std::string>::const_iterator
+	   it = exported_kernel_symbols.begin(),
+	   en = exported_kernel_symbols.end();
+       it != en; ++it)
+    {
+      const name_symbol_map_type::const_iterator r =
+	  name_symbol_map_.find(*it);
+      if (r == name_symbol_map_.end())
+	continue;
+
+      for (elf_symbols::const_iterator sym_it = r->second.begin(),
+				       sym_end = r->second.end();
+	   sym_it != sym_end; ++sym_it)
+	{
+	  if ((*sym_it)->is_public())
+	    (*sym_it)->set_is_in_ksymtab(true);
+	}
+      has_ksymtab_entries_ = true;
+    }
+
+  // sort the symbols for deterministic output
+  std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
+
+  return true;
+}
+
+bool
+symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
+	     string_elf_symbols_map_sptr variables_symbol_map)
+
+{
+  if (function_symbol_map)
+    for (string_elf_symbols_map_type::const_iterator
+	     it = function_symbol_map->begin(),
+	     end = function_symbol_map->end();
+	 it != end; ++it)
+      {
+	symbols_.insert(symbols_.end(), it->second.begin(), it->second.end());
+	ABG_ASSERT(name_symbol_map_.insert(*it).second);
+      }
+
+  if (variables_symbol_map)
+    for (string_elf_symbols_map_type::const_iterator
+	     it = variables_symbol_map->begin(),
+	     end = variables_symbol_map->end();
+	 it != end; ++it)
+      {
+	symbols_.insert(symbols_.end(), it->second.begin(), it->second.end());
+	ABG_ASSERT(name_symbol_map_.insert(*it).second);
+      }
+
+  // sort the symbols for deterministic output
+  std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
+
+  return true;
+}
+
 } // end namespace symtab_reader
 } // end namespace abigail
diff --git a/tests/test-symtab-reader.cc b/tests/test-symtab-reader.cc
index c2e30d661017..383166c88875 100644
--- a/tests/test-symtab-reader.cc
+++ b/tests/test-symtab-reader.cc
@@ -28,3 +28,26 @@
 
 #include "abg-symtab-reader.h"
 
+namespace abigail
+{
+
+using symtab_reader::symtab_filter;
+using symtab_reader::symtab_filter_builder;
+
+TEST_CASE("default symtab_filter matches anything",
+	  "[symtab_reader, symtab_filter]")
+{
+  const symtab_filter	  filter;
+  const elf_symbol_sptr symbol; // not initialized!
+  CHECK(filter.matches(symbol));
+}
+
+TEST_CASE("default symtab_filter built with filter_builder matches anything",
+	  "[symtab_reader, symtab_filter, symtab_filter_builder]")
+{
+  const symtab_filter filter = symtab_filter_builder();
+  const elf_symbol_sptr symbol; // not initialized!
+  CHECK(filter.matches(symbol));
+}
+
+} // namespace abigail
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 07/16] Integrate new symtab reader into corpus and read_context
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (5 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 06/16] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 08/16] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

While reading the corpus in the read_context, also load the new type
symtab object side-by-side and set it accordingly in the resulting
corpus. This is still side by side and passive code that gets active in
the following changes. This is applicable for the dwarf reader as well
as for the reader that consumes XML.

	* include/abg-corpus.h (corpus::set_symtab): New method declaration.
	  (corpus::get_symtab): New method declaration.
	* include/abg-fwd.h (symtab_reader::symtab_sptr): New forward
	  declaration.
	* src/abg-corpus-priv.h (corpus::priv::symtab_): New data member.
	* src/abg-corpus.cc
	  (corpus::set_symtab): Likewise.
	  (corpus::get_symtab): Likewise.
	* src/abg-dwarf-reader.cc (read_context::symtab_): New data member.
	  (read_context::initialize): reset symtab_ as well
	  (read_context::symtab): new method that loads a symtab on
	  first access and returns it.
	  (read_debug_info_into_corpus): also set the new symtab object
	  on the current corpus.
	  (read_corpus_from_elf): Also determine (i.e. load) the new
	  symtab object and contribute to the load status.
	* src/abg-reader.cc (read_corpus_from_input): also set the new
	  type symtab when reading from xml.
	* tests/test-symtab.cc: Add test assertions.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-corpus.h                          |   6 ++++
 include/abg-fwd.h                             |   8 ++++++
 src/abg-corpus-priv.h                         |   2 ++
 src/abg-corpus.cc                             |   9 ++++++
 src/abg-dwarf-reader.cc                       |  27 ++++++++++++++++++
 src/abg-reader.cc                             |   3 ++
 tests/data/test-symtab/basic/no_debug_info.c  |   2 +-
 tests/data/test-symtab/basic/no_debug_info.so | Bin 15360 -> 15544 bytes
 tests/test-symtab.cc                          |  15 ++++------
 9 files changed, 61 insertions(+), 11 deletions(-)

diff --git a/include/abg-corpus.h b/include/abg-corpus.h
index 410a9c2459e6..b94926996cde 100644
--- a/include/abg-corpus.h
+++ b/include/abg-corpus.h
@@ -169,6 +169,12 @@ public:
   bool
   operator==(const corpus&) const;
 
+  void
+  set_symtab(symtab_reader::symtab_sptr);
+
+  const symtab_reader::symtab_sptr&
+  get_symtab() const;
+
   void
   set_fun_symbol_map(string_elf_symbols_map_sptr);
 
diff --git a/include/abg-fwd.h b/include/abg-fwd.h
index f6e0c5b286a1..f6e3969a6f36 100644
--- a/include/abg-fwd.h
+++ b/include/abg-fwd.h
@@ -1331,6 +1331,14 @@ typedef vector<suppression_sptr> suppressions_type;
 
 } // end namespace suppr
 
+namespace symtab_reader
+{
+
+class symtab;
+typedef abg_compat::shared_ptr<symtab> symtab_sptr;
+
+} // end namespace symtab_reader
+
 void
 dump(const decl_base_sptr, std::ostream&);
 
diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index ee8c823964e7..5c1e915ad2f3 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -32,6 +32,7 @@
 #include "abg-internal.h"
 #include "abg-regex.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 
 namespace abigail
 {
@@ -700,6 +701,7 @@ struct corpus::priv
   string_elf_symbols_map_sptr			undefined_var_symbol_map;
   elf_symbols					sorted_var_symbols;
   elf_symbols					sorted_undefined_var_symbols;
+  symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
   elf_symbols					sorted_fun_symbols;
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 9e90b99473d3..94702047dd82 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -38,6 +38,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-ir.h"
 #include "abg-reader.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 #include "abg-tools-utils.h"
 #include "abg-writer.h"
 
@@ -905,6 +906,14 @@ corpus::operator==(const corpus& other) const
 	  && j == other.get_translation_units().end());
 }
 
+void
+corpus::set_symtab(symtab_reader::symtab_sptr symtab)
+{priv_->symtab_ = symtab;}
+
+const symtab_reader::symtab_sptr&
+corpus::get_symtab() const
+{ return priv_->symtab_; }
+
 /// Setter of the function symbols map.
 ///
 /// @param map a shared pointer to the new function symbols map.
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 213638102230..d7b73adb4874 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -50,6 +50,7 @@
 #include "abg-suppression-priv.h"
 #include "abg-corpus-priv.h"
 #include "abg-elf-helpers.h"
+
 #include "abg-internal.h"
 
 // <headers defining libabigail's API go under here>
@@ -57,6 +58,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 
 #include "abg-dwarf-reader.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 #include "abg-tools-utils.h"
 
 ABG_END_EXPORT_DECLARATIONS
@@ -2277,6 +2279,9 @@ public:
   bool				drop_undefined_syms_;
   read_context();
 
+private:
+  mutable symtab_reader::symtab_sptr symtab_;
+
 public:
 
   /// Constructor of read_context.
@@ -2426,6 +2431,8 @@ public:
     dt_soname_.clear();
     elf_architecture_.clear();
 
+    symtab_.reset();
+
     clear_per_translation_unit_data();
 
     memset(&offline_callbacks_, 0, sizeof(offline_callbacks_));
@@ -5577,6 +5584,22 @@ public:
     return symbol;
   }
 
+  const symtab_reader::symtab_sptr&
+  symtab() const
+  {
+    using namespace abg_compat::placeholders;
+    if (!symtab_)
+      symtab_ = symtab_reader::symtab::load(
+	  elf_handle(), options_.env,
+	  abg_compat::bind(&read_context::is_elf_symbol_suppressed, this, _1));
+    if (!symtab_)
+      {
+	std::cerr << "Symbol table of '" << elf_path_
+		  << "' could not be loaded\n";
+      }
+    return symtab_;
+  }
+
   /// Getter for a pointer to the map that associates the address of
   /// an entry point of a function with the symbol of that function.
   ///
@@ -15482,6 +15505,7 @@ read_debug_info_into_corpus(read_context& ctxt)
     group->add_corpus(ctxt.current_corpus());
 
   // Set symbols information to the corpus.
+  ctxt.current_corpus()->set_symtab(ctxt.symtab());
   if (!get_ignore_symbol_table(ctxt))
     {
       if (ctxt.load_in_linux_kernel_mode()
@@ -16738,6 +16762,9 @@ read_corpus_from_elf(read_context& ctxt, status& status)
 	status |= STATUS_NO_SYMBOLS_FOUND;
     }
 
+  if (!ctxt.symtab() || !ctxt.symtab()->has_symbols())
+    status |= STATUS_NO_SYMBOLS_FOUND;
+
   if (// If no elf symbol was found ...
       status & STATUS_NO_SYMBOLS_FOUND
       // ... or if debug info was found but not the required alternate
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index eb74659f1d46..188c23d2e5cd 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -47,6 +47,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-libxml-utils.h"
 #include "abg-reader.h"
 #include "abg-corpus.h"
+#include "abg-symtab-reader.h"
 
 #ifdef WITH_ZIP_ARCHIVE
 #include "abg-libzip-utils.h"
@@ -1973,6 +1974,8 @@ read_corpus_from_input(read_context& ctxt)
       // Note that it's possible that both fn_sym_db and var_sym_db
       // are nil, due to potential suppression specifications.  That's
       // fine.
+      corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db));
+
       if (fn_sym_db)
 	{
 	  corp.set_fun_symbol_map(fn_sym_db);
diff --git a/tests/data/test-symtab/basic/no_debug_info.c b/tests/data/test-symtab/basic/no_debug_info.c
index 5bb380ba0db8..8ac09016eb4d 100644
--- a/tests/data/test-symtab/basic/no_debug_info.c
+++ b/tests/data/test-symtab/basic/no_debug_info.c
@@ -1 +1 @@
-// empty!
+void exported_function(){}
diff --git a/tests/data/test-symtab/basic/no_debug_info.so b/tests/data/test-symtab/basic/no_debug_info.so
index 827c1eee3e4e8f326af7e360ea444627ee59bee6..0b2310196a2a3a67369f80eb29e9ecefc22dc704 100755
GIT binary patch
delta 1147
zcmZWoOH31C5T3tV9tB!<%cHzPw**bm(Cq`-Vl{1*M`I!w5)LMqVl09tfFOpVCM?DW
zhJ&qhFdTd|AsW4SASPgpk#I5|(39dxV>oy)f(G?Kg0tN&N}SF7-_HE=`e*)Mj?a%L
z?3Q^iY*PsQV1N*mfh8HV<=OS>j$NNT<1l0~Rmw`HB*SdRXEwQVUGVEvX&Z5vSu2jN
zj>ggf#Ek7W;t0FD|IOD}WzFr0h4_JvUAv{Vajf89D27U`EMg^FHZg!mpGu0p>x*?7
zQ>+SmbUi{BDa=&z2Co|A;DWAO=#8Hp8X4`4MNgd{JUM!LXmGBSyIgRK-^l5T+*nN<
zUz+>P>kB7XB^RhAKaN;j+u8~dItlv;Hwa}yg^E=GcA*nkoM)8<Ik^ccPw}lHe*bN2
zE1loOx0=ch7v_)U$`Gsw?D5prD6WcsGx1BZ%T*LARi~Z1Nf@AHIf^oD;;-or8M6;k
zhB+pDHlpmXvrT;D=y3I9nymCdp)#dxBDF^VQ<?odRSkVuCrM1kW6}q+$5kgbIouAH
z=ytlDPLI<|9kga~z`&1_&Js=sJ%koErAU?f?ckYMY2auqGQM(-Q9)ss#O!GE6mc9F
zamZ!iOfZEhmxU#8*i}-_!^hyizUn^*0xpxS8Oo5kElk9>t`c1_;F{ZxA$L0~!keTv
z;X}8?jQGyo#udPQN>k4YvBP62H-i}38TK`a49qy;sc!+ur$O%AUnfxqd9azeAlmLP
z`e7gdgfxwcMqKw;=yK6o?xh*;xLg_2NZKZbwuYZVw5`1>+7gMjc7~6%L?g|eSkl<~
z{{_TlT{XrVujr%wu@U^<IE}KGH~f7sGhUyd4Oqik{N$AcZLAt5(B_i_ZTK4Y;R&B)
zkTX|8#u;B9dyLF~k3GkfUovRN-^3Mv8{YSdwu^KaIv+JhCA+v2FQKi;%C2I#DaevI
zN$VY4Y?@#XFuX6wp5P>{PjQjfXUGCkqd)!B0ZJ*19R~t?4RV7T@f@ZCKEsbjRa&A-
Gt$zTQCEAJr

delta 769
zcmYjPO=uHA6rPt&tQ(Uy+mLRmfhLHOs?Gl7XR~cF5sGcW9~6V+lp+dMywrnjJTz(j
zJKFexS`cbZA_yKrK~Igh9PLT;pqCy6Jy>W((An&6>0{=7^SycV-kUe`zFJ>cNy^0>
z+mj;8vxBV2WH!(!B>Zi`-f0VsTPcyqX4GgZqSra&ZG3qwF^|Js#2gKwL-oYf&gaYe
z@1AET?rp9f>8ssbT)rK#e63L3iG)|dE6)s~LWx*wQCJQ@_0B#GZCklpe?#8BR$O|}
zi+U<aJ9v}2s3n~&J}VHHw!;tDlubF@@9+|a6@{WGD_{Hd{BYb%=_xI)tGdcZ8k;oa
z6Rcveq(%e}OLCNHs>{5rZ6W#aPL=UZy~ay8qbXEJQ;Sd#Ynm+dvK7u`e9{Jl5RXE7
zge3gqJN+!qnG99GJIL2XyB?>D>@26mg4oa%3gD+cDIDUb=d>`+r4JACsHdI!9oXpl
zOQ@w~9{+iIWW>Y#Y=@`ZFI!zNZY=J%GWG{ek4z#G8JUiDb-~i8XTIZ3cA}>;edT=R
z`VBO*5o~22Vm`No?Oa&gds;|_A-S!0F^00CNN&SjT)--~y3gWb37Q_p4<m+-5kfRS
zLoZRyuhBX_dcrtm#zglnJGf*{HYP%tH9|CxU9&*<VU8B)396$tdVyWOZo(WZ&}&q=
mev1!dmEbSuw^|?UIF5~<6!RIo2^UZvH^fI-o2@&A1pWhng`7wL

diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index 20e3071c7259..905d8249a6e4 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -68,14 +68,9 @@ TEST_CASE("Symtab::Empty", "[symtab, basic]")
   const std::string	     binary = "basic/empty.so";
   corpus_sptr		     corpus_ptr;
   const dwarf_reader::status status = read_corpus(binary, corpus_ptr);
-  REQUIRE(corpus_ptr);
-
-  REQUIRE((status & dwarf_reader::STATUS_OK));
+  REQUIRE(!corpus_ptr);
 
-  // TODO: Those two assertions are currently not met. Empty symtabs are
-  //       currently treated like the error case.
-  // REQUIRE((status & dwarf_reader::STATUS_OK));
-  // REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
+  REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
 }
 
 TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
@@ -85,9 +80,9 @@ TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
   const dwarf_reader::status status = read_corpus(binary, corpus_ptr);
   REQUIRE(corpus_ptr);
 
-  REQUIRE(status
-	  == (dwarf_reader::STATUS_OK
-	      | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
+  REQUIRE(
+    status
+    == (dwarf_reader::STATUS_OK | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
 }
 
 // this value indicates in the following helper method, that we do not want to
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 08/16] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (6 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 07/16] Integrate new symtab reader into corpus and read_context Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-22  9:53   ` Giuliano Procida
  2020-06-19 21:42 ` [PATCH v1 09/16] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
                   ` (9 subsequent siblings)
  17 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Make the corresponding members an implementation detail of corpus::priv.
They get computed based on the new symtab whenever they are accessed
first with an atomic instantiation. That simplifies the implementation
and homogenizes the access to functions and variables. Sorting does not
need to be done as the symtab already gives a guarantee for that.

Due to improved alias detection in the new symtab reader, ensure we only
write symbol aliases to ksymtab symbols if having a ksymtab main symbol.

Test data needed to be adjusted as the new symtab reader is stricter in
regards to symbols listed in ksymtab. I.e. init_module is not an
exported symbol in the ksymtab of a kernel module.

	* src/abg-corpus-priv.h (corpus::priv::sorted_var_symbols): make
	  private, mutable and optional.
	  (corpus::sorted_undefined_var_symbols): Likewise.
	  (corpus::sorted_fun_symbols): Likewise.
	  (corpus::sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_fun_symbols): New method declaration.
	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_var_symbols): Likewise.
	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
	* src/abg-corpus.cc
	  (corpus::elf_symbol_comp_functor): Delete struct.
	  (corpus::priv::get_sorted_fun_symbols): New method implementation.
	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_var_symbols): Likewise.
	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
	  (corpus::get_sorted_fun_symbols): Proxy call to corpus::priv.
	  (corpus::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::get_sorted_var_symbols): Likewise.
	  (corpus::get_sorted_undefined_var_symbols): Likewise.
	* src/abg-writer.cc (write_elf_symbol_aliases): When emitting
	  aliases for a kernel symbol, ensure to only emit exported aliases.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: update test
	  data.

Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-corpus-priv.h                         |  21 +-
 src/abg-corpus.cc                             | 242 +++++++-----------
 src/abg-writer.cc                             |  38 ++-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   3 -
 4 files changed, 135 insertions(+), 169 deletions(-)

diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index 5c1e915ad2f3..ad96f260aa89 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -699,13 +699,9 @@ struct corpus::priv
   vector<var_decl*>				vars;
   string_elf_symbols_map_sptr			var_symbol_map;
   string_elf_symbols_map_sptr			undefined_var_symbol_map;
-  elf_symbols					sorted_var_symbols;
-  elf_symbols					sorted_undefined_var_symbols;
   symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
-  elf_symbols					sorted_fun_symbols;
-  elf_symbols					sorted_undefined_fun_symbols;
   elf_symbols					unrefed_fun_symbols;
   elf_symbols					unrefed_var_symbols;
   // The type maps contained in this data member are populated if the
@@ -727,6 +723,11 @@ struct corpus::priv
 private:
   priv();
 
+  mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+
 public:
   priv(const string &	p,
        environment*	e)
@@ -746,6 +747,18 @@ public:
   const type_maps&
   get_types() const;
 
+  const elf_symbols&
+  get_sorted_fun_symbols() const;
+
+  const elf_symbols&
+  get_sorted_undefined_fun_symbols() const;
+
+  const elf_symbols&
+  get_sorted_var_symbols() const;
+
+  const elf_symbols&
+  get_sorted_undefined_var_symbols() const;
+
   unordered_set<interned_string, hash_interned_string>*
   get_public_types_pretty_representations();
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 94702047dd82..6d4bedfd57b7 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -453,6 +453,88 @@ const type_maps&
 corpus::priv::get_types() const
 {return types_;}
 
+/// Return a sorted vector of function symbols for this corpus.
+///
+/// Note that the first time this function is called, the symbols are
+/// sorted and cached.  Subsequent invocations of this function return
+/// the cached vector that was built previously.
+///
+/// @return the sorted list of function symbols.
+const elf_symbols&
+corpus::priv::get_sorted_fun_symbols() const
+{
+  if (!sorted_fun_symbols)
+    {
+      const symtab_reader::symtab_filter filter =
+	  symtab_->make_filter().functions();
+
+      sorted_fun_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_fun_symbols;
+}
+
+/// Getter for a sorted vector of the function symbols undefined in
+/// this corpus.
+///
+/// @return a vector of the function symbols undefined in this corpus,
+/// sorted by name and then version.
+const elf_symbols&
+corpus::priv::get_sorted_undefined_fun_symbols() const
+{
+  if (!sorted_undefined_fun_symbols)
+    {
+      const symtab_reader::symtab_filter filter = symtab_->make_filter()
+						      .functions()
+						      .undefined_symbols()
+						      .public_symbols(false);
+
+      sorted_undefined_fun_symbols =
+	  elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_undefined_fun_symbols;
+}
+
+/// Getter for the sorted vector of variable symbols for this corpus.
+///
+/// Note that the first time this function is called, it computes the
+/// sorted vector, caches the result and returns it.  Subsequent
+/// invocations of this function just return the cached vector.
+///
+/// @return the sorted vector of variable symbols for this corpus.
+const elf_symbols&
+corpus::priv::get_sorted_var_symbols() const
+{
+  if (!sorted_var_symbols)
+    {
+      const symtab_reader::symtab_filter filter =
+	  symtab_->make_filter().variables();
+
+      sorted_var_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_var_symbols;
+}
+
+/// Getter for a sorted vector of the variable symbols undefined in
+/// this corpus.
+///
+/// @return a vector of the variable symbols undefined in this corpus,
+/// sorted by name and then version.
+const elf_symbols&
+corpus::priv::get_sorted_undefined_var_symbols() const
+{
+  if (!sorted_undefined_var_symbols)
+    {
+      const symtab_reader::symtab_filter filter = symtab_->make_filter()
+						      .variables()
+						      .undefined_symbols()
+						      .public_symbols(false);
+
+      sorted_undefined_var_symbols =
+	  elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_undefined_var_symbols;
+}
+
 /// Getter of the set of pretty representation of types that are
 /// reachable from public interfaces (global functions and variables).
 ///
@@ -988,104 +1070,21 @@ const string_elf_symbols_map_type&
 corpus::get_undefined_fun_symbol_map() const
 {return *get_undefined_fun_symbol_map_sptr();}
 
-/// Functor to sort instances of @ref elf_symbol.
-struct elf_symbol_comp_functor
-{
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol& l, elf_symbol& r)
-  {return (l.get_id_string() < r.get_id_string());}
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol* l, elf_symbol* r)
-  {return operator()(*l, *r);}
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol_sptr l, elf_symbol_sptr r)
-  {return operator()(*l, *r);}
-}; // end struct elf_symbol_comp_functor
-
-/// Return a sorted vector of function symbols for this corpus.
-///
-/// Note that the first time this function is called, the symbols are
-/// sorted and cached.  Subsequent invocations of this function return
-/// the cached vector that was built previously.
-///
-/// @return the sorted list of function symbols.
 const elf_symbols&
 corpus::get_sorted_fun_symbols() const
-{
-  if (priv_->sorted_fun_symbols.empty()
-      && !get_fun_symbol_map().empty())
-    {
-      priv_->sorted_fun_symbols.reserve(get_fun_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_fun_symbol_map().begin();
-	   i != get_fun_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  priv_->sorted_fun_symbols.push_back(*s);
+{ return priv_->get_sorted_fun_symbols(); }
 
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_fun_symbols.begin(),
-		priv_->sorted_fun_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_fun_symbols;
-}
-
-/// Getter for a sorted vector of the function symbols undefined in
-/// this corpus.
-///
-/// @return a vector of the function symbols undefined in this corpus,
-/// sorted by name and then version.
 const elf_symbols&
 corpus::get_sorted_undefined_fun_symbols() const
-{
-  if (priv_->sorted_undefined_fun_symbols.empty()
-      && !get_undefined_fun_symbol_map().empty())
-    {
-      priv_->sorted_undefined_fun_symbols.reserve
-	(get_undefined_fun_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_undefined_fun_symbol_map().begin();
-	   i != get_undefined_fun_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  priv_->sorted_undefined_fun_symbols.push_back(*s);
+{ return priv_->get_sorted_undefined_fun_symbols(); }
 
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_undefined_fun_symbols.begin(),
-		priv_->sorted_undefined_fun_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_undefined_fun_symbols;
-}
+const elf_symbols&
+corpus::get_sorted_var_symbols() const
+{ return priv_->get_sorted_var_symbols(); }
+
+const elf_symbols&
+corpus::get_sorted_undefined_var_symbols() const
+{ return priv_->get_sorted_undefined_var_symbols(); }
 
 /// Getter for the variable symbols map.
 ///
@@ -1125,65 +1124,6 @@ const string_elf_symbols_map_type&
 corpus::get_undefined_var_symbol_map() const
 {return *get_undefined_var_symbol_map_sptr();}
 
-/// Getter for the sorted vector of variable symbols for this corpus.
-///
-/// Note that the first time this function is called, it computes the
-/// sorted vector, caches the result and returns it.  Subsequent
-/// invocations of this function just return the cached vector.
-///
-/// @return the sorted vector of variable symbols for this corpus.
-const elf_symbols&
-corpus::get_sorted_var_symbols() const
-{
-  if (priv_->sorted_var_symbols.empty()
-      && !get_var_symbol_map().empty())
-    {
-      priv_->sorted_var_symbols.reserve(get_var_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_var_symbol_map().begin();
-	   i != get_var_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end(); ++s)
-	  priv_->sorted_var_symbols.push_back(*s);
-
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_var_symbols.begin(),
-		priv_->sorted_var_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_var_symbols;
-}
-
-/// Getter for a sorted vector of the variable symbols undefined in
-/// this corpus.
-///
-/// @return a vector of the variable symbols undefined in this corpus,
-/// sorted by name and then version.
-const elf_symbols&
-corpus::get_sorted_undefined_var_symbols() const
-{
-  if (priv_->sorted_undefined_var_symbols.empty()
-      && !get_undefined_var_symbol_map().empty())
-    {
-      priv_->sorted_undefined_var_symbols.reserve
-	(get_undefined_var_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_undefined_var_symbol_map().begin();
-	   i != get_undefined_var_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end(); ++s)
-	  priv_->sorted_undefined_var_symbols.push_back(*s);
-
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_undefined_var_symbols.begin(),
-		priv_->sorted_undefined_var_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_undefined_var_symbols;
-}
-
 /// Look in the function symbols map for a symbol with a given name.
 ///
 /// @param n the name of the symbol to look for.
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index ce0bae2d5cfd..c5be11b26072 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -1693,26 +1693,42 @@ write_elf_symbol_visibility(elf_symbol::visibility v, ostream& o)
 ///
 /// @return true upon successful completion.
 static bool
-write_elf_symbol_aliases(const elf_symbol& sym, ostream& o)
+write_elf_symbol_aliases(const elf_symbol& sym, ostream& out)
 {
   if (!sym.is_main_symbol() || !sym.has_aliases())
     return false;
 
-  bool emitted = false;
-  o << " alias='";
-  for (elf_symbol_sptr s = sym.get_next_alias();
-       !s->is_main_symbol();
+
+  std::vector<std::string> aliases;
+  for (elf_symbol_sptr s = sym.get_next_alias(); s && !s->is_main_symbol();
        s = s->get_next_alias())
     {
-      if (s->get_next_alias()->is_main_symbol())
-	o << s->get_id_string() << "'";
-      else
-	o << s->get_id_string() << ",";
+      if (s->is_suppressed())
+	continue;
 
-      emitted = true;
+      if (sym.is_in_ksymtab() != s->is_in_ksymtab())
+	continue;
+
+      aliases.push_back(s->get_id_string());
     }
 
-  return emitted;
+  if (!aliases.empty())
+    {
+      out << " alias='";
+      std::string separator;
+      for (std::vector<std::string>::const_iterator it = aliases.begin(),
+						    end = aliases.end();
+	   it != end; ++it)
+	{
+	  out << separator << *it;
+	  separator = ",";
+	}
+
+      out << "'";
+      return true;
+    }
+
+  return false;
 }
 
 /// Write an XML attribute for the reference to a symbol for the
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index 755ea6dc433e..d5af7183095f 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -2,8 +2,6 @@
   <elf-function-symbols>
     <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='cleanup_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='init_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -40,7 +38,6 @@
     <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <elf-variable-symbols>
-    <elf-symbol name='__this_module' size='896' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
 
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 09/16] corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (7 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 08/16] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:42 ` [PATCH v1 10/16] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Make the corresponding members an implementation detail of corpus::priv.
They get computed based on the new symtab whenever they are accessed
first with an atomic instantiation. That simplifies the implementation
and homogenizes the access to functions and variables. Sorting does not
need to be done as the symtab already gives a guarantee for that.

        * src/abg-corpus-priv.h (corpus::priv::unrefed_var_symbols): make
          private, mutable and optional.
          (corpus::unrefed_fun_symbols): Likewise.
          (corpus::priv::get_unreferenced_function_symbols): New method declaration.
          (corpus::priv::get_unreferenced_variable_symbols): Likewise.
        * src/abg-corpus.cc
          (corpus::priv::build_unreferenced_symbols_tables): Delete method.
          (corpus::priv::get_unreferenced_function_symbols): New method implementation.
          (corpus::priv::get_unreferenced_variable_symbols): Likewise.
          (corpus::get_unreferenced_function_symbols): Proxy call to corpus::priv.
          (corpus::get_unreferenced_variable_symbols): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-corpus-priv.h |  13 ++-
 src/abg-corpus.cc     | 261 ++++++++++++++++++++----------------------
 2 files changed, 131 insertions(+), 143 deletions(-)

diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index ad96f260aa89..f2e895bf1e7d 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -702,8 +702,6 @@ struct corpus::priv
   symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
-  elf_symbols					unrefed_fun_symbols;
-  elf_symbols					unrefed_var_symbols;
   // The type maps contained in this data member are populated if the
   // corpus follows the One Definition Rule and thus if there is only
   // one copy of a type with a given name, per corpus. Otherwise, if
@@ -725,8 +723,10 @@ private:
 
   mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<elf_symbols> unrefed_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+  mutable abg_compat::optional<elf_symbols> unrefed_fun_symbols;
 
 public:
   priv(const string &	p,
@@ -738,9 +738,6 @@ public:
       pub_type_pretty_reprs_()
   {}
 
-  void
-  build_unreferenced_symbols_tables();
-
   type_maps&
   get_types();
 
@@ -753,12 +750,18 @@ public:
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
+  const elf_symbols&
+  get_unreferenced_function_symbols() const;
+
   const elf_symbols&
   get_sorted_var_symbols() const;
 
   const elf_symbols&
   get_sorted_undefined_var_symbols() const;
 
+  const elf_symbols&
+  get_unreferenced_variable_symbols() const;
+
   unordered_set<interned_string, hash_interned_string>*
   get_public_types_pretty_representations();
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 6d4bedfd57b7..0f5d51820891 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -317,132 +317,6 @@ struct comp_elf_symbols_functor
 
 // <corpus stuff>
 
-
-/// Build the tables of symbols that are not referenced by any
-/// function or variables of corpus::get_functions() or
-/// corpus::get_variables().
-///
-/// Note that this function considers the list of function and
-/// variable symbols to keep, that is provided by
-/// corpus::get_sym_ids_of_fns_to_keep() and
-/// corpus::get_sym_ids_of_vars_to_keep().  If a given unreferenced
-/// function or variable symbol is not in the list of variable and
-/// function symbols to keep, then that symbol is dropped and will not
-/// be part of the resulting table of unreferenced symbol that is
-/// built.
-///
-/// The built tables are accessible from
-/// corpus::get_unreferenced_function_symbols() and
-/// corpus::get_unreferenced_variable_symbols().
-void
-corpus::priv::build_unreferenced_symbols_tables()
-{
-  unordered_map<string, bool> refed_funs, refed_vars;
-  elf_symbol_sptr sym;
-
-  for (vector<function_decl*>::const_iterator f = fns.begin();
-       f != fns.end();
-       ++f)
-    if ((sym = (*f)->get_symbol()))
-      {
-	refed_funs[sym->get_id_string()] = true;
-	for (elf_symbol_sptr a = sym->get_next_alias();
-	     a && !a->is_main_symbol();
-	     a = a->get_next_alias())
-	  refed_funs[a->get_id_string()] = true;
-      }
-
-  for (vector<var_decl*>::const_iterator v = vars.begin();
-       v != vars.end();
-       ++v)
-    if ((sym = (*v)->get_symbol()))
-      {
-	refed_vars[sym->get_id_string()] = true;
-	for (elf_symbol_sptr a = sym->get_next_alias();
-	     a && !a->is_main_symbol();
-	     a = a->get_next_alias())
-	  refed_vars[a->get_id_string()] = true;
-      }
-
-  if (fun_symbol_map)
-    {
-      // Let's assume that the size of the unreferenced symbols vector
-      // is roughly smaller than the size of the symbol table.
-      unrefed_fun_symbols.reserve(fun_symbol_map->size());
-      for (string_elf_symbols_map_type::const_iterator i
-	     = fun_symbol_map->begin();
-	   i != fun_symbol_map->end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  {
-	    string sym_id = (*s)->get_id_string();
-	    if (refed_funs.find(sym_id) == refed_funs.end())
-	      {
-		bool keep = sym_id_fns_to_keep.empty();
-		for (vector<string>::const_iterator i =
-		       sym_id_fns_to_keep.begin();
-		     i != sym_id_fns_to_keep.end();
-		     ++i)
-		  {
-		    if (*i == sym_id)
-		      {
-			keep = true;
-			break;
-		      }
-		  }
-		if (keep)
-		  unrefed_fun_symbols.push_back(*s);
-	      }
-	  }
-
-      comp_elf_symbols_functor comp;
-      std::sort(unrefed_fun_symbols.begin(),
-		unrefed_fun_symbols.end(),
-		comp);
-    }
-
-  if (var_symbol_map)
-    {
-      // Let's assume that the size of the unreferenced symbols vector
-      // is roughly smaller than the size of the symbol table.
-      unrefed_var_symbols.reserve(var_symbol_map->size());
-      for (string_elf_symbols_map_type::const_iterator i
-	     = var_symbol_map->begin();
-	   i != var_symbol_map->end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  {
-	    string sym_id = (*s)->get_id_string();
-	    if (refed_vars.find(sym_id) == refed_vars.end())
-	      {
-		bool keep = sym_id_vars_to_keep.empty();
-		for (vector<string>::const_iterator i =
-		       sym_id_vars_to_keep.begin();
-		     i != sym_id_vars_to_keep.end();
-		     ++i)
-		  {
-		    if (*i == sym_id)
-		      {
-			keep = true;
-			break;
-		      }
-		  }
-		if (keep)
-		  unrefed_var_symbols.push_back(*s);
-	      }
-	  }
-
-      comp_elf_symbols_functor comp;
-      std::sort(unrefed_var_symbols.begin(),
-		unrefed_var_symbols.end(),
-		comp);
-    }
-}
-
 /// Get the maps that associate a name to a certain kind of type.
 type_maps&
 corpus::priv::get_types()
@@ -494,6 +368,66 @@ corpus::priv::get_sorted_undefined_fun_symbols() const
   return *sorted_undefined_fun_symbols;
 }
 
+/// Return a list of symbols that are not referenced by any function of
+/// corpus::get_functions().
+///
+/// Note that this function considers the list of function symbols to keep,
+/// that is provided by corpus::get_sym_ids_of_fns_to_keep(). If a given
+/// unreferenced function symbol is not in the list of functions to keep, then
+/// that symbol is dropped and will not be part of the resulting table of
+/// unreferenced symbol that is built.
+const elf_symbols&
+corpus::priv::get_unreferenced_function_symbols() const
+{
+  if (!unrefed_fun_symbols)
+    {
+      unrefed_fun_symbols = elf_symbols();
+      if (symtab_)
+	{
+	  unordered_map<string, bool> refed_funs;
+	  elf_symbol_sptr	      sym;
+
+	  for (vector<function_decl*>::const_iterator f = fns.begin();
+	       f != fns.end(); ++f)
+	    if ((sym = (*f)->get_symbol()))
+	      {
+		refed_funs[sym->get_id_string()] = true;
+		for (elf_symbol_sptr a = sym->get_next_alias();
+		     a && !a->is_main_symbol(); a = a->get_next_alias())
+		  refed_funs[a->get_id_string()] = true;
+	      }
+
+	  symtab_reader::symtab_filter filter =
+	    symtab_->make_filter().functions();
+	  for (symtab_reader::symtab::const_iterator iter =
+		 symtab_->begin(filter);
+	       iter != symtab_->end(); iter++)
+	    {
+	      const elf_symbol_sptr& symbol = *iter;
+	      const std::string	     sym_id = symbol->get_id_string();
+
+	      if (refed_funs.find(sym_id) == refed_funs.end())
+		{
+		  bool keep = sym_id_fns_to_keep.empty();
+		  for (vector<string>::const_iterator i =
+			 sym_id_fns_to_keep.begin();
+		       i != sym_id_fns_to_keep.end(); ++i)
+		    {
+		      if (*i == sym_id)
+			{
+			  keep = true;
+			  break;
+			}
+		    }
+		  if (keep)
+		    unrefed_fun_symbols->push_back(symbol);
+		}
+	    }
+	}
+    }
+  return *unrefed_fun_symbols;
+}
+
 /// Getter for the sorted vector of variable symbols for this corpus.
 ///
 /// Note that the first time this function is called, it computes the
@@ -535,6 +469,67 @@ corpus::priv::get_sorted_undefined_var_symbols() const
   return *sorted_undefined_var_symbols;
 }
 
+/// Return a list of symbols that are not referenced by any variable of
+/// corpus::get_variables().
+///
+/// Note that this function considers the list of variable symbols to keep,
+/// that is provided by corpus::get_sym_ids_of_vars_to_keep(). If a given
+/// unreferenced variable symbol is not in the list of variable to keep, then
+/// that symbol is dropped and will not be part of the resulting table of
+/// unreferenced symbol that is built.
+const elf_symbols&
+corpus::priv::get_unreferenced_variable_symbols() const
+{
+  if (!unrefed_var_symbols)
+    {
+      unrefed_var_symbols = elf_symbols();
+      if (symtab_)
+	{
+	  unordered_map<string, bool> refed_vars;
+	  elf_symbol_sptr	      sym;
+
+	  for (vector<var_decl*>::const_iterator f = vars.begin();
+	       f != vars.end(); ++f)
+	    if ((sym = (*f)->get_symbol()))
+	      {
+		refed_vars[sym->get_id_string()] = true;
+		for (elf_symbol_sptr a = sym->get_next_alias();
+		     a && !a->is_main_symbol(); a = a->get_next_alias())
+		  refed_vars[a->get_id_string()] = true;
+	      }
+
+	  symtab_reader::symtab_filter filter =
+	    symtab_->make_filter().variables();
+	  for (symtab_reader::symtab::const_iterator iter =
+		 symtab_->begin(filter);
+	       iter != symtab_->end(); iter++)
+	    {
+	      const elf_symbol_sptr& symbol = *iter;
+	      const std::string	     sym_id = symbol->get_id_string();
+
+	      if (refed_vars.find(sym_id) == refed_vars.end())
+		{
+		  bool keep = sym_id_vars_to_keep.empty();
+		  for (vector<string>::const_iterator i =
+			 sym_id_vars_to_keep.begin();
+		       i != sym_id_vars_to_keep.end(); ++i)
+		    {
+		      if (*i == sym_id)
+			{
+			  keep = true;
+			  break;
+			}
+		    }
+		  if (keep)
+		    unrefed_var_symbols->push_back(symbol);
+		}
+	    }
+	}
+    }
+  return *unrefed_var_symbols;
+}
+
+
 /// Getter of the set of pretty representation of types that are
 /// reachable from public interfaces (global functions and variables).
 ///
@@ -1366,12 +1361,7 @@ corpus::sort_variables()
 /// function exported by the current corpus.
 const elf_symbols&
 corpus::get_unreferenced_function_symbols() const
-{
-  if (priv_->unrefed_fun_symbols.empty()
-      && priv_->unrefed_var_symbols.empty())
-    priv_->build_unreferenced_symbols_tables();
-  return priv_->unrefed_fun_symbols;
-}
+{ return priv_->get_unreferenced_function_symbols(); }
 
 /// Getter of the set of variable symbols that are not referenced by
 /// any variable exported by the current corpus.
@@ -1384,12 +1374,7 @@ corpus::get_unreferenced_function_symbols() const
 /// variable exported by the current corpus.
 const elf_symbols&
 corpus::get_unreferenced_variable_symbols() const
-{
-    if (priv_->unrefed_fun_symbols.empty()
-      && priv_->unrefed_var_symbols.empty())
-    priv_->build_unreferenced_symbols_tables();
-  return priv_->unrefed_var_symbols;
-}
+{ return priv_->get_unreferenced_variable_symbols(); }
 
 /// Accessor for the regex patterns describing the functions to drop
 /// from the public decl table.
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 10/16] abg-reader: avoid using the (var|function)_symbol_map
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (8 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 09/16] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
@ 2020-06-19 21:42 ` Matthias Maennich
  2020-06-19 21:43 ` [PATCH v1 11/16] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:42 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Instead of using the corpus var|function_symbol_maps for symbol lookups,
let build_elf_symbol_from_reference use the symtab::lookup_symbol
method. That leads to a shorter implementation and we can drop the
indicative parameter.

	* src/abg-reader.cc (build_elf_symbol_from_reference): drop
	  last parameter indicating the lookup type and use corpus
	  symtab for the lookup
	  (build_function_decl): Adjust accordingly.
	  (build_var_decl): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-reader.cc | 31 ++++++++++---------------------
 1 file changed, 10 insertions(+), 21 deletions(-)

diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 188c23d2e5cd..313639fddff0 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -1150,8 +1150,7 @@ static elf_symbol_sptr
 build_elf_symbol(read_context&, const xmlNodePtr, bool);
 
 static elf_symbol_sptr
-build_elf_symbol_from_reference(read_context&, const xmlNodePtr,
-				bool);
+build_elf_symbol_from_reference(read_context&, const xmlNodePtr);
 
 static string_elf_symbols_map_sptr
 build_elf_symbol_db(read_context&, const xmlNodePtr, bool);
@@ -2884,8 +2883,7 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 ///
 /// @return a shared pointer the resutling elf_symbol.
 static elf_symbol_sptr
-build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node,
-				bool function_symbol)
+build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node)
 {
   elf_symbol_sptr nil;
 
@@ -2904,20 +2902,13 @@ build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node,
       if (name.empty())
 	return nil;
 
-      string_elf_symbols_map_sptr sym_db =
-	(function_symbol)
-	? ctxt.get_corpus()->get_fun_symbol_map_sptr()
-	: ctxt.get_corpus()->get_var_symbol_map_sptr();
+      const elf_symbols& symbols =
+	  ctxt.get_corpus()->get_symtab()->lookup_symbol(name);
 
-      string_elf_symbols_map_type::const_iterator i = sym_db->find(name);
-      if (i != sym_db->end())
-	{
-	  for (elf_symbols::const_iterator s = i->second.begin();
-	       s != i->second.end();
-	       ++s)
-	    if ((*s)->get_id_string() == sym_id)
-	      return *s;
-	}
+      for (elf_symbols::const_iterator symbol = symbols.begin();
+	   symbol != symbols.end(); ++symbol)
+	if ((*symbol)->get_id_string() == sym_id)
+	  return *symbol;
     }
 
   return nil;
@@ -3168,8 +3159,7 @@ build_function_decl(read_context&	ctxt,
 
   ctxt.push_decl_to_current_scope(fn_decl, add_to_current_scope);
 
-  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node,
-							/*function_sym=*/true);
+  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node);
   if (sym)
     fn_decl->set_symbol(sym);
 
@@ -3400,8 +3390,7 @@ build_var_decl(read_context&	ctxt,
 				  locus, mangled_name,
 				  vis, bind));
 
-  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node,
-							/*function_sym=*/false);
+  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node);
   if (sym)
     decl->set_symbol(sym);
 
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 11/16] dwarf-reader: read_context: use new symtab in *_symbols_is_exported
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (9 preceding siblings ...)
  2020-06-19 21:42 ` [PATCH v1 10/16] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
@ 2020-06-19 21:43 ` Matthias Maennich
  2020-06-19 21:43 ` [PATCH v1 12/16] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:43 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Testing whether a symbol is exported can be simplified using the new
symtab implementation. The same holds true for whether a symbol is
exported via ksymtab in case of linux kernel binaries. So, do that.

	* src/abg-dwarf-reader.cc (function_symbol_is_exported): Use new
	  symtab implementation.
	  (variable_symbol_is_exported): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index d7b73adb4874..87cf34b2e5b7 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -5515,11 +5515,11 @@ public:
   elf_symbol_sptr
   function_symbol_is_exported(GElf_Addr symbol_address) const
   {
-    elf_symbol_sptr symbol = lookup_elf_fn_symbol_from_address(symbol_address);
+    elf_symbol_sptr symbol = symtab()->lookup_symbol(symbol_address);
     if (!symbol)
       return symbol;
 
-    if (!symbol->is_public())
+    if (!symbol->is_function() || !symbol->is_public())
       return elf_symbol_sptr();
 
     address_set_sptr set;
@@ -5528,16 +5528,8 @@ public:
 
     if (looking_at_linux_kernel_binary)
       {
-	if ((set = linux_exported_fn_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
-	if ((set = linux_exported_gpl_fn_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
+	if (symbol->is_in_ksymtab())
+	  return symbol;
 	return elf_symbol_sptr();
       }
 
@@ -5555,11 +5547,11 @@ public:
   elf_symbol_sptr
   variable_symbol_is_exported(GElf_Addr symbol_address) const
   {
-    elf_symbol_sptr symbol = lookup_elf_var_symbol_from_address(symbol_address);
+    elf_symbol_sptr symbol = symtab()->lookup_symbol(symbol_address);
     if (!symbol)
       return symbol;
 
-    if (!symbol->is_public())
+    if (!symbol->is_variable() || !symbol->is_public())
       return elf_symbol_sptr();
 
     address_set_sptr set;
@@ -5568,16 +5560,8 @@ public:
 
     if (looking_at_linux_kernel_binary)
       {
-	if ((set = linux_exported_var_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
-	if ((set = linux_exported_gpl_var_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
+	if (symbol->is_in_ksymtab())
+	  return symbol;
 	return elf_symbol_sptr();
       }
 
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 12/16] Switch kernel stuff over to new symtab and drop unused code
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (10 preceding siblings ...)
  2020-06-19 21:43 ` [PATCH v1 11/16] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
@ 2020-06-19 21:43 ` Matthias Maennich
  2020-06-19 21:43 ` [PATCH v1 13/16] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:43 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Now that the new symtab implementation is capable of reading the
ksymtab, we can switch over the implementation to gather information
from there and delete all now-obsolete code.

	* src/abg-dwarf-reader.cc (read_context::ksymtab_format_): Delete.
	(read_context::ksymtab_entry_size_): Likewise.
	(read_context::nb_ksymtab_entries_): Likewise.
	(read_context::nb_ksymtab_gpl_entries_): Likewise.
	(read_context::ksymtab_section_): Likewise.
	(read_context::ksymtab_reloc_section_): Likewise.
	(read_context::ksymtab_gpl_section_): Likewise.
	(read_context::ksymtab_gpl_reloc_section_): Likewise.
	(read_context::ksymtab_strings_section_): Likewise.
	(read_context::linux_exported_fn_syms): Likewise.
	(read_context::linux_exported_var_syms): Likewise.
	(read_context::linux_exported_gpl_fn_syms): Likewise.
	(read_context::linux_exported_gpl_var_syms): Likewise.
	(read_context::initialize): Remove initializations accordingly.
	(read_context::find_ksymtab_section): Delete.
	(read_context::find_ksymtab_gpl_section): Likewise.
	(read_context::find_ksymtab_reloc_section): Likewise.
	(read_context::find_ksymtab_gpl_reloc_section): Likewise.
	(read_context::find_ksymtab_strings_section): Likewise.
	(read_context::find_any_ksymtab_section): Likewise.
	(read_context::find_any_ksymtab_reloc_section): Likewise.
	(read_context::lookup_elf_symbol_from_index): Adjust.
	(read_context::linux_exported_fn_syms): Delete.
	(read_context::create_or_get_linux_exported_fn_syms): Likewise.
	(read_context::linux_exported_var_syms): Likewise.
	(read_context::create_or_get_linux_exported_var_syms): Likewise.
	(read_context::linux_exported_gpl_fn_syms): Delete.
	(read_context::create_or_get_linux_exported_gpl_fn_syms): Likewise.
	(read_context::linux_exported_gpl_var_syms): Likewise.
	(read_context::create_or_get_linux_exported_gpl_var_syms): Likewise.
	(read_context::try_reading_first_ksymtab_entry): Likewise.
	(read_context::try_reading_first_ksymtab_entry_using_pre_v4_19_format): Likewise.
	(read_context::try_reading_first_ksymtab_entry_using_v4_19_format): Likewise.
	(read_context::get_ksymtab_format_module): Likewise.
	(read_context::get_ksymtab_format): Likewise.
	(read_context::get_ksymtab_symbol_value_size): Likewise.
	(read_context::get_ksymtab_entry_size): Likewise.
	(read_context::get_nb_ksymtab_entries): Likewise.
	(read_context::get_nb_ksymtab_gpl_entries): Likewise.
	(read_context::populate_symbol_map_from_ksymtab): Likewise.
	(read_context::populate_symbol_map_from_ksymtab_reloc): Likewise.
	(read_context::load_kernel_symbol_table): Likewise.
	(read_context::load_ksymtab_symbols): Likewise.
	(read_context::load_ksymtab_gpl_symbols): Likewise.
	(read_context::load_linux_specific_exported_symbol_maps): Likewise.
	(read_context::load_symbol_maps): Do not load kernel symbol maps.
	(read_context::maybe_adjust_sym_address_from_v4_19_ksymtab): Delete.
	(read_context::add_fn_symbols_to_map): Likewise.
	(read_context::add_var_symbols_to_map): Likewise.
	(read_context::read_debug_info_into_corpus): Fill export maps
	from new symtab.
	(read_context::lookup_elf_fn_symbol_from_address): Delete.
	(read_context::lookup_elf_var_symbol_from_address): Likewise.
	(read_context::lookup_elf_symbol_from_address): Likewise.
	(read_context::lookup_public_function_symbol_from_elf): Likewise.
	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
	(read_context::fun_entry_addr_sym_map): Likewise.
	(read_context::var_addr_sym_map): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 1194 +--------------------------------------
 1 file changed, 22 insertions(+), 1172 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 87cf34b2e5b7..2d39596f2712 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -2165,26 +2165,6 @@ public:
   // ppc64 elf v1 binaries.  This section contains the procedure
   // descriptors on that platform.
   mutable Elf_Scn*		opd_section_;
-  /// The format of the special __ksymtab section from the linux
-  /// kernel binary.
-  mutable ksymtab_format	ksymtab_format_;
-  /// The size of one entry of the __ksymtab section.
-  mutable size_t		ksymtab_entry_size_;
-  /// The number of entries in the __ksymtab section.
-  mutable size_t		nb_ksymtab_entries_;
-  /// The number of entries in the __ksymtab_gpl section.
-  mutable size_t		nb_ksymtab_gpl_entries_;
-  /// The special __ksymtab and __ksymtab_gpl sections from linux
-  /// kernel or module binaries.  The former is used to store
-  /// references to symbols exported using the EXPORT_SYMBOL macro
-  /// from the linux kernel.  The latter is used to store references
-  /// to symbols exported using the EXPORT_SYMBOL_GPL macro from the
-  /// linux kernel.
-  mutable Elf_Scn*		ksymtab_section_;
-  mutable Elf_Scn*		ksymtab_reloc_section_;
-  mutable Elf_Scn*		ksymtab_gpl_section_;
-  mutable Elf_Scn*		ksymtab_gpl_reloc_section_;
-  mutable Elf_Scn*		ksymtab_strings_section_;
   Dwarf_Die*			cur_tu_die_;
   mutable dwarf_expr_eval_context	dwarf_expr_eval_context_;
   // A set of maps (one per kind of die source) that associates a decl
@@ -2267,10 +2247,6 @@ public:
   string_elf_symbols_map_sptr	var_syms_;
   string_elf_symbols_map_sptr	undefined_fun_syms_;
   string_elf_symbols_map_sptr	undefined_var_syms_;
-  address_set_sptr		linux_exported_fn_syms_;
-  address_set_sptr		linux_exported_var_syms_;
-  address_set_sptr		linux_exported_gpl_fn_syms_;
-  address_set_sptr		linux_exported_gpl_var_syms_;
   vector<string>		dt_needed_;
   string			dt_soname_;
   string			elf_architecture_;
@@ -2369,15 +2345,6 @@ public:
     elf_path_ = elf_path;
     symtab_section_ = 0;
     opd_section_ = 0;
-    ksymtab_format_ = UNDEFINED_KSYMTAB_FORMAT;
-    ksymtab_entry_size_ = 0;
-    nb_ksymtab_entries_ = 0;
-    nb_ksymtab_gpl_entries_ = 0;
-    ksymtab_section_ = 0;
-    ksymtab_reloc_section_ = 0;
-    ksymtab_gpl_section_ = 0;
-    ksymtab_gpl_reloc_section_ = 0;
-    ksymtab_strings_section_ = 0;
     cur_tu_die_ =  0;
     exported_decls_builder_ = 0;
 
@@ -2423,10 +2390,6 @@ public:
     var_syms_.reset();
     undefined_fun_syms_.reset();
     undefined_var_syms_.reset();
-    linux_exported_fn_syms_.reset();
-    linux_exported_var_syms_.reset();
-    linux_exported_gpl_fn_syms_.reset();
-    linux_exported_gpl_var_syms_.reset();
     dt_needed_.clear();
     dt_soname_.clear();
     elf_architecture_.clear();
@@ -5070,97 +5033,6 @@ public:
     return opd_section_;
   }
 
-  /// Return the __ksymtab section of a linux kernel ELF file (either
-  /// a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_section() const
-  {
-    if (!ksymtab_section_)
-      ksymtab_section_ = elf_helpers::find_ksymtab_section(elf_handle());
-    return ksymtab_section_;
-  }
-
-  /// Return the __ksymtab_gpl section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab_gpl section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_gpl_section() const
-  {
-    if (!ksymtab_gpl_section_)
-      ksymtab_gpl_section_ =
-	elf_helpers::find_ksymtab_gpl_section(elf_handle());
-    return ksymtab_gpl_section_;
-  }
-
-  /// Return the .rel{a,}__ksymtab section of a linux kernel ELF file (either
-  /// a vmlinux binary or a kernel module).
-  ///
-  /// @return the .rel{a,}__ksymtab section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_reloc_section() const
-  {
-    if (!ksymtab_reloc_section_)
-	ksymtab_reloc_section_ =
-	  find_relocation_section(elf_handle(), find_ksymtab_section());
-    return ksymtab_reloc_section_;
-  }
-
-  /// Return the .rel{a,}__ksymtab_gpl section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the .rel{a,}__ksymtab_gpl section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_gpl_reloc_section() const
-  {
-    if (!ksymtab_gpl_reloc_section_)
-	ksymtab_gpl_reloc_section_ =
-	  find_relocation_section(elf_handle(), find_ksymtab_gpl_section());
-    return ksymtab_gpl_reloc_section_;
-  }
-
-  /// Return the __ksymtab_strings section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab_strings section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_strings_section() const
-  {
-    if (!ksymtab_strings_section_)
-      ksymtab_strings_section_ =
-	dwarf_reader::find_ksymtab_strings_section(elf_handle());
-    return ksymtab_strings_section_;
-  }
-
-  /// Return either a __ksymtab or a __ksymtab_gpl section, in case
-  /// only the __ksymtab_gpl exists.
-  ///
-  /// @return the __ksymtab section if it exists, or the
-  /// __ksymtab_gpl; or NULL if neither is found.
-  Elf_Scn*
-  find_any_ksymtab_section() const
-  {
-    Elf_Scn *result = find_ksymtab_section();
-    if (!result)
-      result = find_ksymtab_gpl_section();
-    return result;
-  }
-
-  /// Return either a .rel{a,}__ksymtab or a .rel{a,}__ksymtab_gpl section
-  ///
-  /// @return the .rel{a,}__ksymtab section if it exists, or the
-  /// .rel{a,}__ksymtab_gpl; or NULL if neither is found.
-  Elf_Scn*
-  find_any_ksymtab_reloc_section() const
-  {
-    Elf_Scn *result = find_ksymtab_reloc_section();
-    if (!result)
-      result = find_ksymtab_gpl_reloc_section();
-    return result;
-  }
-
   /// Lookup an elf symbol, referred to by its index, from the .symtab
   /// section.
   ///
@@ -5256,7 +5128,7 @@ public:
     elf_symbol::visibility vis =
       stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(native_sym.st_other));
 
-    Elf_Scn *strings_section = find_ksymtab_strings_section();
+    Elf_Scn* strings_section = find_ksymtab_strings_section(elf_handle());
     size_t strings_ndx = strings_section
       ? elf_ndxscn(strings_section)
       : 0;
@@ -5418,92 +5290,6 @@ public:
     return result;
   }
 
-  /// Given the address of the beginning of a function, lookup the
-  /// symbol of the function, build an instance of @ref elf_symbol out
-  /// of it and return it.
-  ///
-  /// @param symbol_start_addr the address of the beginning of the
-  /// function to consider.
-  ///
-  /// @param sym the resulting symbol.  This is set iff the function
-  /// returns true.
-  ///
-  /// @return the elf symbol found at address @p symbol_start_addr, or
-  /// nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_fn_symbol_from_address(GElf_Addr symbol_start_addr) const
-  {
-    addr_elf_symbol_sptr_map_type::const_iterator i,
-      nil = fun_entry_addr_sym_map().end();
-
-    if ((i = fun_entry_addr_sym_map().find(symbol_start_addr)) == nil)
-      return elf_symbol_sptr();
-
-    return i->second;
-  }
-
-  /// Given the address of a global variable, lookup the symbol of the
-  /// variable, build an instance of @ref elf_symbol out of it and
-  /// return it.
-  ///
-  /// @param symbol_start_addr the address of the beginning of the
-  /// variable to consider.
-  ///
-  /// @param the symbol found, iff the function returns true.
-  ///
-  /// @return the elf symbol found or nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_var_symbol_from_address(GElf_Addr symbol_start_addr) const
-  {
-    addr_elf_symbol_sptr_map_type::const_iterator i,
-      nil = var_addr_sym_map().end();
-
-    if ((i = var_addr_sym_map().find(symbol_start_addr)) == nil)
-      return elf_symbol_sptr();
-
-    return i->second;
-  }
-
-  /// Lookup an elf symbol, knowing its address.
-  ///
-  /// This function first looks for a function symbol having this
-  /// address; if it doesn't find any, then it looks for a variable
-  /// symbol.
-  ///
-  /// @param symbol_addr the address of the symbol of the symbol we
-  /// are looking for.  Note that the address is a relative offset
-  /// starting from the beginning of the .text section.  Addresses
-  /// that are presen in the symbol table (the one named .symtab).
-  ///
-  /// @return the elf symbol if found, or nil otherwise.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_address(GElf_Addr symbol_addr) const
-  {
-    elf_symbol_sptr result = lookup_elf_fn_symbol_from_address(symbol_addr);
-    if (!result)
-      result = lookup_elf_var_symbol_from_address(symbol_addr);
-    return result;
-  }
-
-  /// Look in the symbol tables of the underying elf file and see if
-  /// we find a symbol of a given name of function type.
-  ///
-  /// @param sym_name the name of the symbol to look for.
-  ///
-  /// @param syms the public function symbols that were found, with
-  /// the name @p sym_name.
-  ///
-  /// @return true iff the symbol was found.
-  bool
-  lookup_public_function_symbol_from_elf(const string&			sym_name,
-					 vector<elf_symbol_sptr>&	syms)
-  {
-    return dwarf_reader::lookup_public_function_symbol_from_elf(env(),
-								elf_handle(),
-								sym_name,
-								syms);
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5603,20 +5389,6 @@ public:
     return fun_addr_sym_map_;
   }
 
-  /// Getter for a pointer to the map that associates the address of
-  /// an entry point of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return a pointer to the map that associates the address of an
-  /// entry point of a function with the symbol of that function.
-  const addr_elf_symbol_sptr_map_sptr&
-  fun_entry_addr_sym_map_sptr() const
-  {return const_cast<read_context*>(this)->fun_entry_addr_sym_map_sptr();}
-
-
   /// Getter for the map that associates the address of an entry point
   /// of a function with the symbol of that function.
   ///
@@ -5630,19 +5402,6 @@ public:
   fun_entry_addr_sym_map()
   {return *fun_entry_addr_sym_map_sptr();}
 
-  /// Getter for the map that associates the address of an entry point
-  /// of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return the map that associates the address of an entry point of
-  /// a function with the symbol of that function.
-  const addr_elf_symbol_sptr_map_type&
-  fun_entry_addr_sym_map() const
-  { return *fun_entry_addr_sym_map_sptr();}
-
   /// Getter for the map of function symbols (name -> sym).
   ///
   /// @return a shared pointer to the map of function symbols.
@@ -5707,130 +5466,6 @@ public:
     return undefined_var_syms_;
   }
 
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of function symbols present in the __ksymtab
-  /// section
-  address_set_sptr&
-  linux_exported_fn_syms()
-  {return linux_exported_fn_syms_;}
-
-  /// Getter for the set of addresses of functions that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of function symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  const address_set_sptr&
-  linux_exported_fn_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_fn_syms();}
-
-  /// Create an empty set of addresses of functions exported from a
-  /// linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_fn_syms()
-  {
-    if (!linux_exported_fn_syms_)
-      linux_exported_fn_syms_.reset(new address_set_type);
-    return linux_exported_fn_syms_;
-  }
-
-  /// Getter for the set of addresses of v ariables that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of variable symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  linux_exported_var_syms()
-  {return linux_exported_var_syms_;}
-
-  /// Getter for the set of addresses of variables that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of variable symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  const address_set_sptr&
-  linux_exported_var_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_var_syms();}
-
-
-  /// Create an empty set of addresses of variables exported from a
-  /// linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_var_syms()
-  {
-    if (!linux_exported_var_syms_)
-      linux_exported_var_syms_.reset(new address_set_type);
-    return linux_exported_var_syms_;
-  }
-
-
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of function symbols present in the
-  /// __ksymtab_gpl section.
-  address_set_sptr&
-  linux_exported_gpl_fn_syms()
-  {return linux_exported_gpl_fn_syms_;}
-
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of function symbols present in the
-  /// __ksymtab_gpl section.
-  const address_set_sptr&
-  linux_exported_gpl_fn_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_gpl_fn_syms();}
-
-  /// Create an empty set of addresses of GPL functions exported from
-  /// a linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_gpl_fn_syms()
-  {
-    if (!linux_exported_gpl_fn_syms_)
-      linux_exported_gpl_fn_syms_.reset(new address_set_type);
-    return linux_exported_gpl_fn_syms_;
-  }
-
-  /// Getter for the set of addresses of variable symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of variable symbols present in the
-  /// __ksymtab_gpl section.
-  address_set_sptr&
-  linux_exported_gpl_var_syms()
-  {return linux_exported_gpl_var_syms_;}
-
-  /// Getter for the set of addresses of variable symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of variable symbols present in the
-  /// __ksymtab_gpl section.
-  const address_set_sptr&
-  linux_exported_gpl_var_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_gpl_var_syms();}
-
-  /// Create an empty set of addresses of GPL variables exported from
-  /// a linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_gpl_var_syms()
-  {
-    if (!linux_exported_gpl_var_syms_)
-      linux_exported_gpl_var_syms_.reset(new address_set_type);
-    return linux_exported_gpl_var_syms_;
-  }
-
   /// Getter for the ELF dt_needed tag.
   const vector<string>&
   dt_needed() const
@@ -5846,28 +5481,6 @@ public:
   elf_architecture() const
   {return elf_architecture_;}
 
-  /// Getter for the map of global variables symbol address -> global
-  /// variable symbol index.
-  ///
-  /// @return the map.  Note that this initializes the map once when
-  /// its nedded.
-  const addr_elf_symbol_sptr_map_type&
-  var_addr_sym_map() const
-  {return const_cast<read_context*>(this)->var_addr_sym_map();}
-
-  /// Getter for the map of global variables symbol address -> global
-  /// variable symbol index.
-  ///
-  /// @return the map.  Note that this initializes the map once when
-  /// its nedded.
-  addr_elf_symbol_sptr_map_type&
-  var_addr_sym_map()
-  {
-    if (!var_addr_sym_map_)
-      maybe_load_symbol_maps();
-    return *var_addr_sym_map_;
-  }
-
   /// Load the maps address -> function symbol, address -> variable
   /// symbol and the maps of function and variable undefined symbols.
   ///
@@ -6092,364 +5705,6 @@ public:
     return true;
   }
 
-  /// Try reading the first __ksymtab section entry.
-  ///
-  /// We lookup the symbol from the raw section passed as an argument. For
-  /// that, consider endianess and adjust for potential Elf relocations before
-  /// looking up the symbol in the .symtab section.
-  //
-  /// Optionally, support position relative relocations by considering the
-  /// ksymtab entry as 32 bit and applying the relocation relative to the
-  /// section header (i.e. the symbol position as we are reading the first
-  /// symbol).
-  ///
-  /// @param section the ksymtab section to consider.
-  ///
-  /// @param position_relative_relocations if true, then consider that
-  /// the section designated by @p section contains position-relative
-  /// relocated symbol addresses.
-  ///
-  /// @param symbol_offset if different from zero
-  /// If symbol_offset is != 0, adjust the position we consider the section
-  /// start. That is useful to read the ksymtab with a slight offset.
-  ///
-  /// Note, this function does not support relocatable ksymtab entries (as for
-  /// example in kernel modules). Using this function for ksymtabs where
-  /// relocations need to be applied for the entries we are reading here, will
-  /// yield wrong results.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol address we
-  /// got from reading the first entry of the ksymtab or null if no such entry
-  /// could be found.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry(Elf_Scn* section,
-				  bool position_relative_relocations,
-				  int  symbol_offset = 0) const
-  {
-    Elf_Data*	    elf_data = elf_rawdata(section, 0);
-    uint8_t*	    bytes = reinterpret_cast<uint8_t*>(elf_data->d_buf);
-    bool	    is_big_endian = architecture_is_big_endian(elf_handle());
-    elf_symbol_sptr symbol;
-    GElf_Addr	    symbol_address = 0;
-
-    unsigned char symbol_value_size;
-    if (position_relative_relocations)
-      symbol_value_size = sizeof(int32_t);
-    else
-      symbol_value_size = get_architecture_word_size(elf_handle());
-
-    const int read_offset = (symbol_offset * symbol_value_size);
-    bytes += read_offset;
-
-    if (position_relative_relocations)
-      {
-	int32_t offset = 0;
-	ABG_ASSERT(read_int_from_array_of_bytes(bytes, symbol_value_size,
-						is_big_endian, offset));
-	GElf_Shdr section_header;
-	gelf_getshdr(section, &section_header);
-	// the actual symbol address is relative to its position. Since we do
-	// not know the position, we take the beginning of the section, add the
-	// read_offset that we might have and finally apply the offset we
-	// read from the section.
-	symbol_address = section_header.sh_addr + read_offset + offset;
-      }
-    else
-      ABG_ASSERT(read_int_from_array_of_bytes(bytes, symbol_value_size,
-					      is_big_endian, symbol_address));
-
-    symbol_address = maybe_adjust_fn_sym_address(symbol_address);
-    symbol = lookup_elf_symbol_from_address(symbol_address);
-    return symbol;
-  }
-
-  /// Try reading the first __ksymtab section entry as if it is in the
-  /// pre-v4_19 format, that is without position relative relocations.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol
-  /// address we got from reading the first entry of the ksymtab
-  /// section assuming the pre-v4.19 format. If null, it means the
-  /// __ksymtab section is not in the pre-v4.19 format.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry_using_pre_v4_19_format() const
-  {
-    Elf_Scn *section = find_any_ksymtab_section();
-    return try_reading_first_ksymtab_entry(section, false);
-  }
-
-  /// Try reading the first __ksymtab section entry as if it is in the
-  /// v4_19 format, that is with position relative relocations.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol
-  /// address we got from reading the first entry of the ksymtab
-  /// section assuming the v4.19 format. If null, it means the
-  /// __ksymtab section is not in the v4.19 format.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry_using_v4_19_format() const
-  {
-    Elf_Scn *section = find_any_ksymtab_section();
-    return try_reading_first_ksymtab_entry(section, true);
-  }
-
-  /// Try to determine the format of the __ksymtab and __ksymtab_gpl
-  /// sections of Linux kernel modules.
-  ///
-  /// This is important because we need to know the format of these
-  /// sections to be able to read from them.
-  ///
-  /// @return the format the __ksymtab[_gpl] sections.
-  enum ksymtab_format
-  get_ksymtab_format_module() const
-  {
-    Elf_Scn *section = find_any_ksymtab_reloc_section();
-
-    ABG_ASSERT(section);
-
-    // Libdwfl has a weird quirk where, in the process of obtaining an Elf
-    // descriptor via dwfl_module_getelf(), it will apply all relocations it
-    // knows how to and it will zero the relocation info after applying it. If
-    // the .rela__ksymtab* section contained only simple (absolute) relocations,
-    // they will have been all applied and sh_size will be 0. For arches that
-    // support relative ksymtabs, simple relocations only appear in pre-4.19
-    // kernel modules.
-    GElf_Shdr section_mem;
-    GElf_Shdr *section_shdr = gelf_getshdr(section, &section_mem);
-    if (section_shdr->sh_size == 0)
-      return PRE_V4_19_KSYMTAB_FORMAT;
-
-    bool is_relasec = (section_shdr->sh_type == SHT_RELA);
-
-    // If we still have a normal non-zeroed relocation section, we can guess
-    // what format the ksymtab is in depending on what types of relocs it
-    // contains.
-
-    uint64_t type;
-    Elf_Data *section_data = elf_getdata(section, 0);
-    if (is_relasec)
-      {
-	GElf_Rela rela;
-	gelf_getrela(section_data, 0, &rela);
-	type = GELF_R_TYPE(rela.r_info);
-      }
-    else
-      {
-	GElf_Rel rel;
-	gelf_getrel(section_data, 0, &rel);
-	type = GELF_R_TYPE(rel.r_info);
-      }
-
-    // Sigh, I dislike the arch-dependent code here, but this seems to be a
-    // reliable heuristic for kernel modules for now. Relative ksymtabs only
-    // supported on x86 and arm64 as of v4.19.
-    ksymtab_format format;
-    switch (type)
-      {
-      case R_X86_64_64: // Same as R_386_32, fallthrough
-#ifdef HAVE_R_AARCH64_ABS64_MACRO
-      case R_AARCH64_ABS64:
-#endif
-	format = PRE_V4_19_KSYMTAB_FORMAT;
-	break;
-      case R_X86_64_PC32: // Same as R_386_PC32, fallthrough
-#ifdef HAVE_R_AARCH64_PREL32_MACRO
-      case R_AARCH64_PREL32:
-#endif
-	format = V4_19_KSYMTAB_FORMAT;
-	break;
-      default:
-	// Fall back to other methods of determining the ksymtab format.
-	format = UNDEFINED_KSYMTAB_FORMAT;
-	break;
-      }
-    return format;
-  }
-
-  /// Determine the format of the __ksymtab and __ksymtab_gpl
-  /// sections.
-  ///
-  /// This is important because we need the know the format of these
-  /// sections to be able to read from them.
-  ///
-  /// @return the format the __ksymtab[_gpl] sections.
-  enum ksymtab_format
-  get_ksymtab_format() const
-  {
-    if (!find_any_ksymtab_section())
-      ksymtab_format_ = UNDEFINED_KSYMTAB_FORMAT;
-    else
-      {
-	if (ksymtab_format_ == UNDEFINED_KSYMTAB_FORMAT)
-	  {
-	    // Since Linux kernel modules are relocatable, we can first try
-	    // using a heuristic based on relocations to guess the ksymtab format.
-	    if (is_linux_kernel_module(elf_handle()))
-	     {
-	       ksymtab_format_ = get_ksymtab_format_module();
-	       if (ksymtab_format_ != UNDEFINED_KSYMTAB_FORMAT)
-		  return ksymtab_format_;
-	     }
-
-	    // If it's not a kernel module or we couldn't determine its format
-	    // with relocations, fall back to the heuristics below.
-
-	    // OK this is a dirty little heuristic to determine the
-	    // format of the ksymtab section.
-	    //
-	    // We try to read the first ksymtab entry assuming a
-	    // pre-v4.19 format.  If that succeeds then we are in the
-	    // pr-v4.19 format.  Otherwise, try reading it assuming a
-	    // v4.19 format.  For now, we just support
-	    // PRE_V4_19_KSYMTAB_FORMAT and V4_19_KSYMTAB_FORMAT.
-	    if (try_reading_first_ksymtab_entry_using_pre_v4_19_format())
-	      ksymtab_format_ = PRE_V4_19_KSYMTAB_FORMAT;
-	    else if (try_reading_first_ksymtab_entry_using_v4_19_format())
-	      ksymtab_format_ = V4_19_KSYMTAB_FORMAT;
-	    else
-	      // If a new format emerges, then we need to add its
-	      // support above.
-	      ABG_ASSERT_NOT_REACHED;
-	  }
-      }
-    return ksymtab_format_;
-  }
-
-  /// Getter of the size of the symbol value part of an entry of the
-  /// ksymtab section.
-  ///
-  /// @return the size of the symbol value part of the entry of the
-  /// ksymtab section.
-  unsigned char
-  get_ksymtab_symbol_value_size() const
-  {
-    unsigned char result = 0;
-    ksymtab_format format = get_ksymtab_format();
-    if (format == UNDEFINED_KSYMTAB_FORMAT)
-      ;
-    else if (format == PRE_V4_19_KSYMTAB_FORMAT)
-      result = get_architecture_word_size(elf_handle());
-    else if (format == V4_19_KSYMTAB_FORMAT)
-      result = 4;
-    else
-      ABG_ASSERT_NOT_REACHED;
-
-    return result;
-  }
-
-  /// Getter of the size of one entry of the ksymtab section.
-  ///
-  /// @return the size of one entry of the ksymtab section.
-  unsigned char
-  get_ksymtab_entry_size() const
-  {
-    if (ksymtab_entry_size_ == 0)
-      {
-	const unsigned char symbol_size = get_ksymtab_symbol_value_size();
-	Elf_Scn*	    ksymtab = find_any_ksymtab_section();
-	if (ksymtab)
-	  {
-	    GElf_Shdr ksymtab_shdr;
-	    gelf_getshdr(ksymtab, &ksymtab_shdr);
-
-	    // ksymtab entries have the following layout
-	    //
-	    // struct {
-	    //  T symbol_address;  // .symtab entry
-	    //  T name_address;    // .strtab entry
-	    // }
-	    //
-	    // with T being a suitable type to represent the absolute,
-	    // relocatable or position relative value of the address. T's size
-	    // is determined by get_ksymtab_symbol_value_size().
-	    //
-	    // Since Kernel v5.4, the entries have the following layout
-	    //
-	    // struct {
-	    //  T symbol_address;  // .symtab entry
-	    //  T name_address;    // .strtab entry
-	    //  T namespace;       // .strtab entry
-	    // }
-	    //
-	    // To determine the ksymtab entry size, find the next entry that
-	    // refers to a valid .symtab entry. The offset to that one is what
-	    // we are searching for.
-	    for (unsigned entries = 2; entries <= 3; ++entries)
-	      {
-		const unsigned candidate_size = entries * symbol_size;
-
-		// if there is exactly one entry, section size == entry size
-		// (this looks like an optimization, but in fact it prevents
-		// from illegal reads if there is actually only one entry)
-		if (ksymtab_shdr.sh_size == candidate_size)
-		  {
-		    ksymtab_entry_size_ = candidate_size;
-		    break;
-		  }
-
-		// otherwise check whether the symbol following the candidate
-		// number of entries is a valid ELF symbol. For that we read
-		// the ksymtab with the given offset and if the symbol is
-		// valid, we found our entry size.
-		const ksymtab_format format = get_ksymtab_format();
-		if (try_reading_first_ksymtab_entry
-		    (ksymtab, format == V4_19_KSYMTAB_FORMAT, entries))
-		  {
-		    ksymtab_entry_size_ = candidate_size;
-		    break;
-		  }
-	      }
-	    ABG_ASSERT(ksymtab_entry_size_ != 0);
-	  }
-      }
-
-    return ksymtab_entry_size_;
-  }
-
-  /// Getter of the number of entries that are present in the ksymtab
-  /// section.
-  ///
-  /// @return the number of entries that are present in the ksymtab
-  /// section.
-  size_t
-  get_nb_ksymtab_entries() const
-  {
-    if (nb_ksymtab_entries_ == 0)
-      {
-	Elf_Scn *section = find_ksymtab_section();
-	if (section)
-	  {
-	    GElf_Shdr header_mem;
-	    GElf_Shdr *section_header = gelf_getshdr(section, &header_mem);
-	    size_t entry_size = get_ksymtab_entry_size();
-	    ABG_ASSERT(entry_size);
-	    nb_ksymtab_entries_ = section_header->sh_size / entry_size;
-	  }
-      }
-    return nb_ksymtab_entries_;
-  }
-
-  /// Getter of the number of entries that are present in the
-  /// ksymtab_gpl section.
-  ///
-  /// @return the number of entries that are present in the
-  /// ksymtab_gpl section.
-  size_t
-  get_nb_ksymtab_gpl_entries()
-  {
-    if (nb_ksymtab_gpl_entries_ == 0)
-      {
-	Elf_Scn *section = find_ksymtab_gpl_section();
-	if (section)
-	  {
-	    GElf_Shdr header_mem;
-	    GElf_Shdr *section_header = gelf_getshdr(section, &header_mem);
-	    size_t entry_size = get_ksymtab_entry_size();
-	    ABG_ASSERT(entry_size);
-	    nb_ksymtab_gpl_entries_ = section_header->sh_size / entry_size;
-	  }
-      }
-    return nb_ksymtab_gpl_entries_;
-  }
-
   /// Test if a given ELF symbol was suppressed by a suppression
   /// specification.
   ///
@@ -6465,328 +5720,6 @@ public:
 					       symbol->get_type()));
   }
 
-  /// Populate the symbol map by reading exported symbols from the
-  /// ksymtab directly.
-  ///
-  /// @param section the ksymtab section to read from
-  ///
-  /// @param exported_fns_set the set of exported functions
-  ///
-  /// @param exported_vars_set the set of exported variables
-  ///
-  /// @param nb_entries the number of ksymtab entries to read
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  populate_symbol_map_from_ksymtab(Elf_Scn *section,
-                                   address_set_sptr exported_fns_set,
-                                   address_set_sptr exported_vars_set,
-                                   size_t nb_entries)
-  {
-    // The data of the section.
-    Elf_Data *elf_data = elf_rawdata(section, 0);
-
-    // An array-of-bytes view of the elf data above.  Something we can
-    // actually program with.  Phew.
-    uint8_t *bytes = reinterpret_cast<uint8_t*>(elf_data->d_buf);
-
-    // This is where to store an address of a symbol that we read from
-    // the section.
-    GElf_Addr symbol_address = 0, adjusted_symbol_address = 0;
-
-    // So the section is an array of entries.  Each entry describes a
-    // symbol.  Each entry is made of two words.
-    //
-    // The first word is the address of a symbol.  The second one is
-    // the address of a static global variable symbol which value is
-    // the string representing the symbol name.  That string is in the
-    // __ksymtab_strings section.  Here, we are only interested in the
-    // first entry.
-    //
-    // Lets thus walk the array of entries, and let's read just the
-    // symbol address part of each entry.
-    bool is_big_endian = architecture_is_big_endian(elf_handle());
-    elf_symbol_sptr symbol;
-    unsigned char symbol_value_size = get_ksymtab_symbol_value_size();
-
-    for (size_t i = 0, entry_offset = 0;
-	 i < nb_entries;
-	 ++i, entry_offset = get_ksymtab_entry_size() * i)
-      {
-	symbol_address = 0;
-	ABG_ASSERT(read_int_from_array_of_bytes(&bytes[entry_offset],
-						symbol_value_size,
-						is_big_endian,
-						symbol_address));
-
-	// Starting from linux kernel v4.19, it can happen that the
-	// address value read from the ksymtab[_gpl] section might
-	// need some decoding to get the real symbol address that has
-	// a meaning in the .symbol section.
-	symbol_address =
-	  maybe_adjust_sym_address_from_v4_19_ksymtab(symbol_address,
-						      entry_offset, section);
-
-	// We might also want to adjust the symbol address, depending
-	// on if we are looking at an ET_REL, an executable or a
-	// shared object binary.
-	adjusted_symbol_address = maybe_adjust_fn_sym_address(symbol_address);
-
-	if (adjusted_symbol_address == 0)
-	  // The resulting symbol address is zero, not sure this
-	  // valid; ignore it.
-	  continue;
-
-	// OK now the symbol address should be in a suitable form to
-	// be used to look the symbol up in the usual .symbol section
-	// (aka ELF symbol table).
-	symbol = lookup_elf_symbol_from_address(adjusted_symbol_address);
-	if (!symbol)
-	  {
-	    adjusted_symbol_address =
-	      maybe_adjust_var_sym_address(symbol_address);
-	    symbol = lookup_elf_symbol_from_address(adjusted_symbol_address);
-	    if (!symbol)
-	      // This must be a symbol that is of type neither FUNC
-	      // (function) nor OBJECT (variable).  There are for intance,
-	      // symbols of type 'NOTYPE' in the ksymtab symbol table.  I
-	      // am not sure what those are.
-	      continue;
-	  }
-
-	// If the symbol was suppressed by a suppression
-	// specification then drop it on the floor.
-	if (is_elf_symbol_suppressed(symbol))
-	  continue;
-
-	address_set_sptr set;
-	if (symbol->is_function())
-	  {
-	    ABG_ASSERT(lookup_elf_fn_symbol_from_address
-		       (adjusted_symbol_address));
-	    set = exported_fns_set;
-	  }
-	else if (symbol->is_variable())
-	  {
-	    ABG_ASSERT(lookup_elf_var_symbol_from_address
-		       (adjusted_symbol_address));
-	    set = exported_vars_set;
-	  }
-	else
-	  ABG_ASSERT_NOT_REACHED;
-	set->insert(adjusted_symbol_address);
-      }
-    return true;
-  }
-
-  /// Populate the symbol map by extracting the exported symbols from a
-  /// ksymtab rela section.
-  ///
-  /// @param section the ksymtab section to read from
-  ///
-  /// @param exported_fns_set the set of exported functions
-  ///
-  /// @param exported_vars_set the set of exported variables
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  populate_symbol_map_from_ksymtab_reloc(Elf_Scn *reloc_section,
-                                         address_set_sptr exported_fns_set,
-                                         address_set_sptr exported_vars_set)
-  {
-    GElf_Shdr reloc_section_mem;
-    GElf_Shdr *reloc_section_shdr = gelf_getshdr(reloc_section,
-						 &reloc_section_mem);
-    size_t reloc_count =
-      reloc_section_shdr->sh_size / reloc_section_shdr->sh_entsize;
-
-    Elf_Data *reloc_section_data = elf_getdata(reloc_section, 0);
-
-    bool is_relasec = (reloc_section_shdr->sh_type == SHT_RELA);
-    elf_symbol_sptr symbol;
-    GElf_Sym native_symbol;
-    for (unsigned int i = 0; i < reloc_count; i++)
-      {
-	if (is_relasec)
-	  {
-	    GElf_Rela rela;
-	    gelf_getrela(reloc_section_data, i, &rela);
-	    symbol = lookup_elf_symbol_from_index(GELF_R_SYM(rela.r_info),
-						  native_symbol);
-	  }
-	else
-	  {
-	    GElf_Rel rel;
-	    gelf_getrel(reloc_section_data, i, &rel);
-	    symbol = lookup_elf_symbol_from_index(GELF_R_SYM(rel.r_info),
-						  native_symbol);
-	  }
-
-	ABG_ASSERT(symbol);
-
-        // If the symbol is a linux string constant then ignore it.
-	if (symbol->get_is_linux_string_cst())
-	  continue;
-
-	if (!symbol->is_function() && !symbol->is_variable())
-	  {
-	    if (do_log())
-	      {
-		if (symbol->get_type() == elf_symbol::NOTYPE_TYPE)
-		  cerr << "skipping NOTYPE symbol "
-		       << symbol->get_name()
-		       << " shndx: "
-		       << symbol->get_index()
-		       << " @"
-		       << elf_path()
-		       << "\n";
-		else if (symbol->get_type() == elf_symbol::SECTION_TYPE)
-		  cerr << "skipping SECTION symbol "
-		       << "shndx: "
-		       << symbol->get_index()
-		       << " @"
-		       << elf_path()
-		       << "\n";
-	       }
-	    continue;
-	  }
-
-	// If the symbol was suppressed by a suppression
-	// specification then drop it on the floor.
-	if (is_elf_symbol_suppressed(symbol))
-	  continue;
-
-	// If we are looking at an ET_REL (relocatable) binary, then
-	// the symbol value of native_symbol is relative to the
-	// section that symbol is defined in.  We need to translate it
-	// into an absolute (okay, binary-relative, rather) address.
-	GElf_Addr symbol_address =
-	  maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-						   &native_symbol);
-
-	address_set_sptr set;
-	if (symbol->is_function())
-	  {
-	    ABG_ASSERT(lookup_elf_fn_symbol_from_address(symbol_address));
-	    set = exported_fns_set;
-	  }
-	else if (symbol->is_variable())
-	  {
-	    ABG_ASSERT(lookup_elf_var_symbol_from_address(symbol_address));
-	    set = exported_vars_set;
-	  }
-	else
-	  ABG_ASSERT_NOT_REACHED;
-	set->insert(symbol_address);
-      }
-    return true;
-  }
-
-  /// Load a given kernel symbol table.
-  ///
-  /// One can thus retrieve the resulting symbols by using the
-  /// accessors read_context::linux_exported_fn_syms(),
-  /// read_context::linux_exported_var_syms(),
-  /// read_context::linux_exported_gpl_fn_syms(), or
-  /// read_context::linux_exported_gpl_var_syms().
-  ///
-  /// @param kind the kind of kernel symbol table to load.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_kernel_symbol_table(kernel_symbol_table_kind kind)
-  {
-    Elf_Scn *section = 0, *reloc_section = 0;
-    address_set_sptr linux_exported_fns_set, linux_exported_vars_set;
-
-    switch (kind)
-      {
-      case KERNEL_SYMBOL_TABLE_KIND_UNDEFINED:
-	break;
-      case KERNEL_SYMBOL_TABLE_KIND_KSYMTAB:
-	section = find_ksymtab_section();
-	reloc_section = find_ksymtab_reloc_section();
-	linux_exported_fns_set = create_or_get_linux_exported_fn_syms();
-	linux_exported_vars_set = create_or_get_linux_exported_var_syms();
-	break;
-      case KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL:
-	section = find_ksymtab_gpl_section();
-	reloc_section = find_ksymtab_gpl_reloc_section();
-	linux_exported_fns_set = create_or_get_linux_exported_gpl_fn_syms();
-	linux_exported_vars_set = create_or_get_linux_exported_gpl_var_syms();
-	break;
-      }
-
-    if (!linux_exported_vars_set || !linux_exported_fns_set || !section)
-      return false;
-
-    ksymtab_format format = get_ksymtab_format();
-
-    // Although pre-v4.19 kernel modules can have a relocation section for the
-    // __ksymtab section, libdwfl zeroes the rela section after applying
-    // "simple" absolute relocations via dwfl_module_getelf(). For v4.19 and
-    // above, we get PC-relative relocations so dwfl_module_getelf() doesn't
-    // apply those relocations and we're safe to read the relocation section to
-    // determine which exported symbols are in the ksymtab.
-    if (!reloc_section || format == PRE_V4_19_KSYMTAB_FORMAT)
-      {
-	size_t nb_entries = 0;
-	if (kind == KERNEL_SYMBOL_TABLE_KIND_KSYMTAB)
-	  nb_entries = get_nb_ksymtab_entries();
-	else if (kind == KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL)
-	  nb_entries = get_nb_ksymtab_gpl_entries();
-
-	if (!nb_entries)
-	  return false;
-
-	return populate_symbol_map_from_ksymtab(
-	    section, linux_exported_fns_set, linux_exported_vars_set,
-	    nb_entries);
-      }
-    else
-      return populate_symbol_map_from_ksymtab_reloc(reloc_section,
-                                                    linux_exported_fns_set,
-                                                    linux_exported_vars_set);
-  }
-
-  /// Load the special __ksymtab section. This is for linux kernel
-  /// (module) files.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_ksymtab_symbols()
-  {
-    return load_kernel_symbol_table(KERNEL_SYMBOL_TABLE_KIND_KSYMTAB);
-  }
-
-  /// Load the special __ksymtab_gpl section. This is for linux kernel
-  /// (module) files.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_ksymtab_gpl_symbols()
-  {
-    return load_kernel_symbol_table(KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL);
-  }
-
-  /// Load linux kernel (module) specific exported symbol sections.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_linux_specific_exported_symbol_maps()
-  {
-    bool loaded = false;
-    if (!linux_exported_fn_syms_
-	|| !linux_exported_var_syms_)
-      loaded |= load_ksymtab_symbols();
-
-    if (!linux_exported_gpl_fn_syms_
-	|| !linux_exported_gpl_var_syms_)
-      loaded |= load_ksymtab_gpl_symbols();
-
-    return loaded;
-  }
-
   /// Load the maps of function symbol address -> function symbol,
   /// global variable symbol address -> variable symbol and also the
   /// maps of function and variable undefined symbols.
@@ -6829,11 +5762,7 @@ public:
 						 load_var_map,
 						 load_undefined_fun_map,
 						 load_undefined_var_map))
-	  {
-	    if (load_in_linux_kernel_mode() && is_linux_kernel(elf_handle()))
-	      return load_linux_specific_exported_symbol_maps();
 	    return true;
-	  }
 	return false;
       }
     return true;
@@ -6913,36 +5842,6 @@ public:
     load_elf_architecture();
   }
 
-  /// Convert the value of the symbol address part of a post V4.19
-  /// ksymtab entry (that contains place-relative addresses) into its
-  /// corresponding symbol value in the .symtab section.  The value of
-  /// the symbol in .symtab equals to addr_offset + address-of-ksymtab
-  /// + addr.
-  ///
-  /// @param addr the address read from the ksymtab section.
-  ///
-  /// @param addr_offset the offset at which @p addr was read.
-  ///
-  /// @param ksymtab_section the kymstab section @p addr was read
-  /// from.
-  GElf_Addr
-  maybe_adjust_sym_address_from_v4_19_ksymtab(GElf_Addr addr,
-					      size_t addr_offset,
-					      Elf_Scn *ksymtab_section) const
-  {
-    GElf_Addr result = addr;
-
-    if (get_ksymtab_format() == V4_19_KSYMTAB_FORMAT)
-      {
-	int32_t offset = addr;
-	GElf_Shdr mem;
-	GElf_Shdr *section_header = gelf_getshdr(ksymtab_section, &mem);
-	result = offset + section_header->sh_addr + addr_offset;
-      }
-
-    return result;
-  }
-
   /// This is a sub-routine of maybe_adjust_fn_sym_address and
   /// maybe_adjust_var_sym_address.
   ///
@@ -15375,34 +14274,6 @@ build_function_decl(read_context&	ctxt,
   return result;
 }
 
-/// Add a set of addresses (representing function symbols) to a
-/// function symbol name -> symbol map.
-///
-/// For a given symbol address, the function retrieves the name of the
-/// symbol as well as the symbol itself and inserts an entry {symbol
-/// name, symbol} into a map of symbol name -> symbol map.
-///
-/// @param syms the set of symbol addresses to consider.
-///
-/// @param map the map to populate.
-///
-/// @param ctxt the context in which we are loading a given ELF file.
-static void
-add_fn_symbols_to_map(address_set_type& syms,
-		      string_elf_symbols_map_type& map,
-		      read_context& ctxt)
-{
-  for (address_set_type::iterator i = syms.begin(); i != syms.end(); ++i)
-    {
-      elf_symbol_sptr sym = ctxt.lookup_elf_fn_symbol_from_address(*i);
-      ABG_ASSERT(sym);
-      string_elf_symbols_map_type::iterator it =
-	ctxt.fun_syms().find(sym->get_name());
-      ABG_ASSERT(it != ctxt.fun_syms().end());
-      map.insert(*it);
-    }
-}
-
 /// Add a symbol to a symbol map.
 ///
 /// @param sym the symbol to add.
@@ -15426,34 +14297,6 @@ add_symbol_to_map(const elf_symbol_sptr& sym,
     it->second.push_back(sym);
 }
 
-/// Add a set of addresses (representing variable symbols) to a
-/// variable symbol name -> symbol map.
-///
-/// For a given symbol address, the variable retrieves the name of the
-/// symbol as well as the symbol itself and inserts an entry {symbol
-/// name, symbol} into a map of symbol name -> symbol map.
-///
-/// @param syms the set of symbol addresses to consider.
-///
-/// @param map the map to populate.
-///
-/// @param ctxt the context in which we are loading a given ELF file.
-static void
-add_var_symbols_to_map(address_set_type& syms,
-		       string_elf_symbols_map_type& map,
-		       read_context& ctxt)
-{
-  for (address_set_type::iterator i = syms.begin(); i != syms.end(); ++i)
-    {
-      elf_symbol_sptr sym = ctxt.lookup_elf_var_symbol_from_address(*i);
-      ABG_ASSERT(sym);
-      string_elf_symbols_map_type::iterator it =
-	ctxt.var_syms().find(sym->get_name());
-      ABG_ASSERT(it != ctxt.var_syms().end());
-      map.insert(*it);
-    }
-}
-
 /// Read all @ref abigail::translation_unit possible from the debug info
 /// accessible through a DWARF Front End Library handle, and stuff
 /// them into a libabigail ABI Corpus.
@@ -15497,22 +14340,29 @@ read_debug_info_into_corpus(read_context& ctxt)
 	{
 	  string_elf_symbols_map_sptr exported_fn_symbols_map
 	    (new string_elf_symbols_map_type);
-	  add_fn_symbols_to_map(*ctxt.linux_exported_fn_syms(),
-				*exported_fn_symbols_map,
-				ctxt);
-	  add_fn_symbols_to_map(*ctxt.linux_exported_gpl_fn_syms(),
-				*exported_fn_symbols_map,
-				ctxt);
+	  symtab_reader::symtab_filter filter =
+	      ctxt.symtab()->make_filter().functions();
+
+	  for (symtab_reader::symtab::const_iterator
+		   it = ctxt.symtab()->begin(filter),
+		   end = ctxt.symtab()->end();
+	       it != end; ++it)
+	    {
+	      (*exported_fn_symbols_map)[(*it)->get_name()].push_back(*it);
+	    }
+
 	  ctxt.current_corpus()->set_fun_symbol_map(exported_fn_symbols_map);
 
-	  string_elf_symbols_map_sptr exported_var_symbols_map
-	    (new string_elf_symbols_map_type);
-	  add_var_symbols_to_map(*ctxt.linux_exported_var_syms(),
-				 *exported_var_symbols_map,
-				 ctxt);
-	  add_var_symbols_to_map(*ctxt.linux_exported_gpl_var_syms(),
-				 *exported_var_symbols_map,
-				 ctxt);
+	  string_elf_symbols_map_sptr exported_var_symbols_map(
+	      new string_elf_symbols_map_type);
+	  filter = ctxt.symtab()->make_filter().variables();
+	  for (symtab_reader::symtab::const_iterator
+		   it = ctxt.symtab()->begin(filter),
+		   end = ctxt.symtab()->end();
+	       it != end; ++it)
+	    {
+	      (*exported_var_symbols_map)[(*it)->get_name()].push_back(*it);
+	    }
 	  ctxt.current_corpus()->set_var_symbol_map(exported_var_symbols_map);
 	}
       else
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 13/16] abg-elf-helpers: migrate ppc64 specific helpers
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (11 preceding siblings ...)
  2020-06-19 21:43 ` [PATCH v1 12/16] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
@ 2020-06-19 21:43 ` Matthias Maennich
  2020-06-19 21:43 ` [PATCH v1 14/16] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:43 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

This migrates more helpers to abg-elf-helpers:
  lookup_ppc64_elf_fn_entry_point_address  with dependencies
    read_uint64_from_array_of_bytes
    read_int_from_array_of_bytes

  address_is_in_opd_section  with dependency
    address_is_in_section

read_context::find_opd_section and read_context::opd_section_ are obsolete.

	* src/abg-dwarf-reader.cc (read_context::opd_section_): Delete.
	(read_context::find_opd_section): Delete.
	(read_context::read_uint64_from_array_of_bytes): Delete.
	(read_context::read_int_from_array_of_bytes): Delete.
	(read_context::lookup_ppc64_elf_fn_entry_point_address): Delete.
	(read_context::address_is_in_opd_section): Delete.
	(read_context::address_is_in_section): Delete.
	(read_context::load_symbol_maps_from_symtab_section): Adjust.
	* src/abg-elf-helpers.cc (read_int_from_array_of_bytes): New.
	(read_uint64_from_array_of_bytes): New.
	(lookup_ppc64_elf_fn_entry_point_address): New.
	(address_is_in_section): New.
	(address_is_in_opd_section): New.
	* src/abg-elf-helpers.h
	(lookup_ppc64_elf_fn_entry_point_address): New declaration.
	(address_is_in_opd_section): New declaration.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 208 +---------------------------------------
 src/abg-elf-helpers.cc  | 186 +++++++++++++++++++++++++++++++++++
 src/abg-elf-helpers.h   |   8 ++
 3 files changed, 198 insertions(+), 204 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 2d39596f2712..73069e844eba 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -2161,10 +2161,6 @@ public:
   mutable Elf*			elf_handle_;
   string			elf_path_;
   mutable Elf_Scn*		symtab_section_;
-  // The "Official procedure descriptor section, aka .opd", used in
-  // ppc64 elf v1 binaries.  This section contains the procedure
-  // descriptors on that platform.
-  mutable Elf_Scn*		opd_section_;
   Dwarf_Die*			cur_tu_die_;
   mutable dwarf_expr_eval_context	dwarf_expr_eval_context_;
   // A set of maps (one per kind of die source) that associates a decl
@@ -2344,7 +2340,6 @@ public:
     elf_handle_ = 0;
     elf_path_ = elf_path;
     symtab_section_ = 0;
-    opd_section_ = 0;
     cur_tu_die_ =  0;
     exported_decls_builder_ = 0;
 
@@ -5020,19 +5015,6 @@ public:
     return symtab_section_;
   }
 
-  /// Return the "Official Procedure descriptors section."  This
-  /// section is named .opd, and is usually present only on PPC64
-  /// ELFv1 binaries.
-  ///
-  /// @return the .opd section, if found.  Return nil otherwise.
-  Elf_Scn*
-  find_opd_section() const
-  {
-    if (!opd_section_)
-      opd_section_ = elf_helpers::find_opd_section(elf_handle());
-    return opd_section_;
-  }
-
   /// Lookup an elf symbol, referred to by its index, from the .symtab
   /// section.
   ///
@@ -5144,152 +5126,6 @@ public:
     return sym;
   }
 
-  /// Read 8 bytes and convert their value into an uint64_t.
-  ///
-  /// @param bytes the array of bytes to read the next 8 bytes from.
-  /// Note that this array must be at least 8 bytes long.
-  ///
-  /// @param result where to store the resuting uint64_t that was read.
-  ///
-  /// @param is_big_endian if true, read the 8 bytes in Big Endian
-  /// mode, otherwise, read them in Little Endian.
-  ///
-  /// @param true if the 8 bytes could be read, false otherwise.
-  bool
-  read_uint64_from_array_of_bytes(const uint8_t	*bytes,
-				  bool			is_big_endian,
-				  uint64_t		&result) const
-  {
-    return read_int_from_array_of_bytes(bytes, 8, is_big_endian, result);
-  }
-
-  /// Read N bytes and convert their value into an integer type T.
-  ///
-  /// Note that N cannot be bigger than 8 for now. The type passed needs to be
-  /// at least of the size of number_of_bytes.
-  ///
-  /// @param bytes the array of bytes to read the next 8 bytes from.
-  /// Note that this array must be at least 8 bytes long.
-  ///
-  /// @param number_of_bytes the number of bytes to read.  This number
-  /// cannot be bigger than 8.
-  ///
-  /// @param is_big_endian if true, read the 8 bytes in Big Endian
-  /// mode, otherwise, read them in Little Endian.
-  ///
-  /// @param result where to store the resuting integer that was read.
-  ///
-  ///
-  /// @param true if the 8 bytes could be read, false otherwise.
-  template<typename T>
-  bool
-  read_int_from_array_of_bytes(const uint8_t	*bytes,
-			       unsigned char	number_of_bytes,
-			       bool		is_big_endian,
-			       T		&result) const
-  {
-    if (!bytes)
-      return false;
-
-    ABG_ASSERT(number_of_bytes <= 8);
-    ABG_ASSERT(number_of_bytes <= sizeof(T));
-
-    T res = 0;
-
-    const uint8_t *cur = bytes;
-    if (is_big_endian)
-      {
-	// In Big Endian, the most significant byte is at the lowest
-	// address.
-	const uint8_t* msb = cur;
-	res = *msb;
-
-	// Now read the remaining least significant bytes.
-	for (uint i = 1; i < number_of_bytes; ++i)
-	  res = (res << 8) | ((T)msb[i]);
-      }
-    else
-      {
-	// In Little Endian, the least significant byte is at the
-	// lowest address.
-	const uint8_t* lsb = cur;
-	res = *lsb;
-	// Now read the remaining most significant bytes.
-	for (uint i = 1; i < number_of_bytes; ++i)
-	  res = res | (((T)lsb[i]) << i * 8);
-      }
-
-    result = res;
-    return true;
-  }
-
-  /// Lookup the address of the function entry point that corresponds
-  /// to the address of a given function descriptor.
-  ///
-  /// On PPC64, a function pointer is the address of a function
-  /// descriptor.  Function descriptors are located in the .opd
-  /// section.  Each function descriptor is a triplet of three
-  /// addresses, each one on 64 bits.  Among those three address only
-  /// the first one is of any interest to us: the address of the entry
-  /// point of the function.
-  ///
-  /// This function returns the address of the entry point of the
-  /// function whose descriptor's address is given.
-  ///
-  /// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES
-  ///
-  /// https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/deeply_understand_64_bit_powerpc_elf_abi_function_descriptors?lang=en
-  ///
-  /// @param fn_desc_address the address of the function descriptor to
-  /// consider.
-  ///
-  /// @return the address of the entry point of the function whose
-  /// descriptor has the address @p fn_desc_address.  If there is no
-  /// .opd section (e.g because we are not on ppc64) or more generally
-  /// if the function descriptor could not be found then this function
-  /// just returns the address of the fuction descriptor.
-  GElf_Addr
-  lookup_ppc64_elf_fn_entry_point_address(GElf_Addr fn_desc_address) const
-  {
-    if (!elf_handle())
-      return fn_desc_address;
-
-    if (!architecture_is_ppc64(elf_handle()))
-      return fn_desc_address;
-
-    bool is_big_endian = architecture_is_big_endian(elf_handle());
-
-    Elf_Scn *opd_section = find_opd_section();
-    if (!opd_section)
-      return fn_desc_address;
-
-    GElf_Shdr header_mem;
-    // The section header of the .opd section.
-    GElf_Shdr *opd_sheader = gelf_getshdr(opd_section, &header_mem);
-
-    // The offset of the function descriptor entry, in the .opd
-    // section.
-    size_t fn_desc_offset = fn_desc_address - opd_sheader->sh_addr;
-    Elf_Data *elf_data = elf_rawdata(opd_section, 0);
-
-    // Ensure that the opd_section has at least 8 bytes, starting from
-    // the offset we want read the data from.
-    if (elf_data->d_size <= fn_desc_offset + 8)
-      return fn_desc_address;
-
-    // A pointer to the data of the .opd section, that we can actually
-    // do something with.
-    uint8_t * bytes = (uint8_t*) elf_data->d_buf;
-
-    // The resulting address we are looking for is going to be formed
-    // in this variable.
-    GElf_Addr result = 0;
-    ABG_ASSERT(read_uint64_from_array_of_bytes(bytes + fn_desc_offset,
-					   is_big_endian, result));
-
-    return result;
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5599,13 +5435,15 @@ public:
 		      // symbol that are in the .opd section.
 		      GElf_Addr fn_desc_addr = sym->st_value;
 		      GElf_Addr fn_entry_point_addr =
-			lookup_ppc64_elf_fn_entry_point_address(fn_desc_addr);
+			  lookup_ppc64_elf_fn_entry_point_address(
+			      elf_handle(), fn_desc_addr);
 		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
 			fun_entry_addr_sym_map().find(fn_entry_point_addr);
 
 		      if (it2 == fun_entry_addr_sym_map().end())
 			fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-		      else if (address_is_in_opd_section(fn_desc_addr))
+		      else if (address_is_in_opd_section(elf_handle(),
+							 fn_desc_addr))
 			{
 			  // Either
 			  //
@@ -5768,24 +5606,6 @@ public:
     return true;
   }
 
-  /// Return true if an address is in the ".opd" section that is
-  /// present on the ppc64 platform.
-  ///
-  /// @param addr the address to consider.
-  ///
-  /// @return true iff @p addr is designates a word that is in the
-  /// ".opd" section.
-  bool
-  address_is_in_opd_section(Dwarf_Addr addr)
-  {
-    Elf_Scn * opd_section = find_opd_section();
-    if (!opd_section)
-      return false;
-    if (address_is_in_section(addr, opd_section))
-      return true;
-    return false;
-  }
-
   /// Load the symbol maps if necessary.
   ///
   /// @return true iff the symbol maps has been loaded by this
@@ -5936,26 +5756,6 @@ public:
     return addr;
   }
 
-  /// Test if a given address is in a given section.
-  ///
-  /// @param addr the address to consider.
-  ///
-  /// @param section the section to consider.
-  bool
-  address_is_in_section(Dwarf_Addr addr, Elf_Scn* section) const
-  {
-    if (!section)
-      return false;
-
-    GElf_Shdr sheader_mem;
-    GElf_Shdr* sheader = gelf_getshdr(section, &sheader_mem);
-
-    if (sheader->sh_addr <= addr && addr <= sheader->sh_addr + sheader->sh_size)
-      return true;
-
-    return false;
-  }
-
   /// For a relocatable (*.o) elf file, this function expects an
   /// absolute address, representing a global variable symbol.  It
   /// then extracts the address of the {.data,.data1,.rodata,.bss}
diff --git a/src/abg-elf-helpers.cc b/src/abg-elf-helpers.cc
index ed768d221d4f..6e2495af1ee0 100644
--- a/src/abg-elf-helpers.cc
+++ b/src/abg-elf-helpers.cc
@@ -863,6 +863,153 @@ architecture_is_big_endian(Elf* elf_handle)
   return is_big_endian;
 }
 
+/// Read N bytes and convert their value into an integer type T.
+///
+/// Note that N cannot be bigger than 8 for now. The type passed needs to be at
+/// least of the size of number_of_bytes.
+///
+/// @param bytes the array of bytes to read the next 8 bytes from.
+/// Note that this array must be at least 8 bytes long.
+///
+/// @param number_of_bytes the number of bytes to read.  This number
+/// cannot be bigger than 8.
+///
+/// @param is_big_endian if true, read the 8 bytes in Big Endian
+/// mode, otherwise, read them in Little Endian.
+///
+/// @param result where to store the resuting integer that was read.
+///
+///
+/// @param true if the 8 bytes could be read, false otherwise.
+template <typename T>
+bool
+read_int_from_array_of_bytes(const uint8_t* bytes,
+			     unsigned char  number_of_bytes,
+			     bool	    is_big_endian,
+			     T&		    result)
+{
+  if (!bytes)
+    return false;
+
+  ABG_ASSERT(number_of_bytes <= 8);
+  ABG_ASSERT(number_of_bytes <= sizeof(T));
+
+  T res = 0;
+
+  const uint8_t* cur = bytes;
+  if (is_big_endian)
+    {
+      // In Big Endian, the most significant byte is at the lowest
+      // address.
+      const uint8_t* msb = cur;
+      res = *msb;
+
+      // Now read the remaining least significant bytes.
+      for (uint i = 1; i < number_of_bytes; ++i)
+	res = (res << 8) | ((T)msb[i]);
+    }
+  else
+    {
+      // In Little Endian, the least significant byte is at the
+      // lowest address.
+      const uint8_t* lsb = cur;
+      res = *lsb;
+      // Now read the remaining most significant bytes.
+      for (uint i = 1; i < number_of_bytes; ++i)
+	res = res | (((T)lsb[i]) << i * 8);
+    }
+
+  result = res;
+  return true;
+}
+
+/// Read 8 bytes and convert their value into an uint64_t.
+///
+/// @param bytes the array of bytes to read the next 8 bytes from.
+/// Note that this array must be at least 8 bytes long.
+///
+/// @param result where to store the resuting uint64_t that was read.
+///
+/// @param is_big_endian if true, read the 8 bytes in Big Endian
+/// mode, otherwise, read them in Little Endian.
+///
+/// @param true if the 8 bytes could be read, false otherwise.
+bool
+read_uint64_from_array_of_bytes(const uint8_t* bytes,
+				bool	       is_big_endian,
+				uint64_t&      result)
+{
+  return read_int_from_array_of_bytes(bytes, 8, is_big_endian, result);
+}
+
+
+/// Lookup the address of the function entry point that corresponds
+/// to the address of a given function descriptor.
+///
+/// On PPC64, a function pointer is the address of a function
+/// descriptor.  Function descriptors are located in the .opd
+/// section.  Each function descriptor is a triplet of three
+/// addresses, each one on 64 bits.  Among those three address only
+/// the first one is of any interest to us: the address of the entry
+/// point of the function.
+///
+/// This function returns the address of the entry point of the
+/// function whose descriptor's address is given.
+///
+/// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES
+///
+/// https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/deeply_understand_64_bit_powerpc_elf_abi_function_descriptors?lang=en
+///
+/// @param fn_desc_address the address of the function descriptor to
+/// consider.
+///
+/// @return the address of the entry point of the function whose
+/// descriptor has the address @p fn_desc_address.  If there is no
+/// .opd section (e.g because we are not on ppc64) or more generally
+/// if the function descriptor could not be found then this function
+/// just returns the address of the fuction descriptor.
+GElf_Addr
+lookup_ppc64_elf_fn_entry_point_address(Elf* elf_handle, GElf_Addr fn_desc_address)
+{
+  if (!elf_handle)
+    return fn_desc_address;
+
+  if (!architecture_is_ppc64(elf_handle))
+    return fn_desc_address;
+
+  bool is_big_endian = architecture_is_big_endian(elf_handle);
+
+  Elf_Scn* opd_section = find_opd_section(elf_handle);
+  if (!opd_section)
+    return fn_desc_address;
+
+  GElf_Shdr header_mem;
+  // The section header of the .opd section.
+  GElf_Shdr* opd_sheader = gelf_getshdr(opd_section, &header_mem);
+
+  // The offset of the function descriptor entry, in the .opd
+  // section.
+  size_t    fn_desc_offset = fn_desc_address - opd_sheader->sh_addr;
+  Elf_Data* elf_data = elf_rawdata(opd_section, 0);
+
+  // Ensure that the opd_section has at least 8 bytes, starting from
+  // the offset we want read the data from.
+  if (elf_data->d_size <= fn_desc_offset + 8)
+    return fn_desc_address;
+
+  // A pointer to the data of the .opd section, that we can actually
+  // do something with.
+  uint8_t* bytes = (uint8_t*)elf_data->d_buf;
+
+  // The resulting address we are looking for is going to be formed
+  // in this variable.
+  GElf_Addr result = 0;
+  ABG_ASSERT(read_uint64_from_array_of_bytes(bytes + fn_desc_offset,
+					     is_big_endian, result));
+
+  return result;
+}
+
 /// Test if the ELF binary denoted by a given ELF handle is a Linux
 /// Kernel Module.
 ///
@@ -1027,5 +1174,44 @@ maybe_adjust_et_rel_sym_addr_to_abs_addr(Elf* elf_handle, GElf_Sym* sym)
   return addr + section_header.sh_addr;
 }
 
+/// Test if a given address is in a given section.
+///
+/// @param addr the address to consider.
+///
+/// @param section the section to consider.
+bool
+address_is_in_section(Dwarf_Addr addr, Elf_Scn* section)
+{
+  if (!section)
+    return false;
+
+  GElf_Shdr  sheader_mem;
+  GElf_Shdr* sheader = gelf_getshdr(section, &sheader_mem);
+
+  if (sheader->sh_addr <= addr && addr <= sheader->sh_addr + sheader->sh_size)
+    return true;
+
+  return false;
+}
+
+/// Return true if an address is in the ".opd" section that is
+/// present on the ppc64 platform.
+///
+/// @param addr the address to consider.
+///
+/// @return true iff @p addr is designates a word that is in the
+/// ".opd" section.
+bool
+address_is_in_opd_section(Elf* elf_handle, Dwarf_Addr addr)
+{
+  Elf_Scn * opd_section = find_opd_section(elf_handle);
+  if (!opd_section)
+    return false;
+  if (address_is_in_section(addr, opd_section))
+    return true;
+  return false;
+}
+
+
 } // end namespace elf_helpers
 } // end namespace abigail
diff --git a/src/abg-elf-helpers.h b/src/abg-elf-helpers.h
index 647c92703dfa..2046648569a7 100644
--- a/src/abg-elf-helpers.h
+++ b/src/abg-elf-helpers.h
@@ -27,6 +27,7 @@
 
 #include "config.h"
 
+#include <elfutils/libdwfl.h>
 #include <gelf.h>
 #include <string>
 
@@ -148,6 +149,10 @@ architecture_is_ppc64(Elf* elf_handle);
 bool
 architecture_is_big_endian(Elf* elf_handle);
 
+GElf_Addr
+lookup_ppc64_elf_fn_entry_point_address(Elf*	  elf_handle,
+					GElf_Addr fn_desc_address);
+
 //
 // Helpers for Linux Kernel Binaries
 //
@@ -177,6 +182,9 @@ is_dso(Elf* elf_handle);
 GElf_Addr
 maybe_adjust_et_rel_sym_addr_to_abs_addr(Elf* elf_handle, GElf_Sym* sym);
 
+bool
+address_is_in_opd_section(Elf* elf_handle, Dwarf_Addr addr);
+
 } // end namespace elf_helpers
 } // end namespace abigail
 
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 14/16] symtab_reader: add support for ppc64 ELFv1 binaries
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (12 preceding siblings ...)
  2020-06-19 21:43 ` [PATCH v1 13/16] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
@ 2020-06-19 21:43 ` Matthias Maennich
  2020-06-19 21:43 ` [PATCH v1 15/16] abg-corpus: remove symbol maps and their setters Matthias Maennich
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:43 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

When loading the symtab from an ppc64 binary, also keep track of the
function entry addresses as a key for the symbol lookup. That
accommodates the differences in DWARF pointing to the function entry
address while the symbol table points to the function pointer.

The implementation is mostly copied and adopted from abg-dwarf-reader's
read_context to add this functionality also to the new symtab reader.

	* src/abg-symtab-reader.cc (symtab::lookup_symbol): fall back to
	  lookup the address in entry_addr_symbol_map_.
	  (symtab::load): update the function entry address map for
	  ppc64 targets.
	  (symtab::update_function_entry_address_symbol_map): New
	  function implementation.
	* src/abg-symtab-reader.h
	  (symtab::entry_addr_symbol_map_): New data member.
	  (symtab::update_function_entry_address_symbol_map): New
	  function declaration.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-symtab-reader.h |  8 ++++
 src/abg-symtab-reader.cc    | 93 +++++++++++++++++++++++++++++++++++--
 2 files changed, 98 insertions(+), 3 deletions(-)

diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h
index 86335617d46a..06001b26ebeb 100644
--- a/include/abg-symtab-reader.h
+++ b/include/abg-symtab-reader.h
@@ -342,6 +342,9 @@ private:
 		       addr_symbol_map_type;
   addr_symbol_map_type addr_symbol_map_;
 
+  /// Lookup map function entry address -> symbol
+  addr_symbol_map_type entry_addr_symbol_map_;
+
   /// Load the symtab representation from an Elf binary presented to us by an
   /// Elf* handle.
   ///
@@ -366,6 +369,11 @@ private:
   bool
   load_(string_elf_symbols_map_sptr function_symbol_map,
        string_elf_symbols_map_sptr variables_symbol_map);
+
+  void
+  update_function_entry_address_symbol_map(Elf*	     elf_handle,
+					   GElf_Sym* native_symbol,
+					   const elf_symbol_sptr& symbol_sptr);
 };
 
 /// Helper class to allow range-for loops on symtabs for C++11 and later code.
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index c98b9174490c..aefc8d6dcd86 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -91,11 +91,16 @@ const elf_symbol_sptr&
 symtab::lookup_symbol(GElf_Addr symbol_addr) const
 {
   static const elf_symbol_sptr empty_result;
-  const addr_symbol_map_type::const_iterator it =
+  const addr_symbol_map_type::const_iterator addr_it =
       addr_symbol_map_.find(symbol_addr);
-  if (it != addr_symbol_map_.end())
+  if (addr_it != addr_symbol_map_.end())
+    return addr_it->second;
+  else
     {
-      return it->second;
+      const addr_symbol_map_type::const_iterator entry_it =
+	entry_addr_symbol_map_.find(symbol_addr);
+      if (entry_it != entry_addr_symbol_map_.end())
+	return entry_it->second;
     }
   return empty_result;
 }
@@ -172,6 +177,8 @@ symtab::load_(Elf*	       elf_handle,
   const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
   abg_compat::unordered_set<std::string> exported_kernel_symbols;
 
+  const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle);
+
   for (size_t i = 0; i < number_syms; ++i)
     {
       GElf_Sym *sym, sym_mem;
@@ -277,6 +284,10 @@ symtab::load_(Elf*	       elf_handle,
 	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
 								    sym);
 
+	  if (is_ppc64 && symbol_sptr->is_function())
+	    update_function_entry_address_symbol_map(elf_handle, sym,
+						     symbol_sptr);
+
 	  const std::pair<addr_symbol_map_type::const_iterator, bool> result =
 	      addr_symbol_map_.insert(
 		  std::make_pair(symbol_value, symbol_sptr));
@@ -345,5 +356,81 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
   return true;
 }
 
+void
+symtab::update_function_entry_address_symbol_map(
+    Elf*		   elf_handle,
+    GElf_Sym*		   native_symbol,
+    const elf_symbol_sptr& symbol_sptr)
+{
+
+  // For ppc64 ELFv1 binaries, we need to build a function entry point address
+  // -> function symbol map. This is in addition to the function pointer ->
+  // symbol map.  This is because on ppc64 ELFv1, a function pointer is
+  // different from a function entry point address.
+  //
+  // On ppc64 ELFv1, the DWARF DIE of a function references the address of the
+  // entry point of the function symbol; whereas the value of the function
+  // symbol is the function pointer. As these addresses are different, if I we
+  // want to get to the symbol of a function from its entry point address (as
+  // referenced by DWARF function DIEs) we must have the two maps I mentionned
+  // right above.
+  //
+  // In other words, we need a map that associates a function entry point
+  // address with the symbol of that function, to be able to get the function
+  // symbol that corresponds to a given function DIE, on ppc64.
+  //
+  // The value of the function pointer (the value of the symbol) usually refers
+  // to the offset of a table in the .opd section.  But sometimes, for a symbol
+  // named "foo", the corresponding symbol named ".foo" (note the dot before
+  // foo) which value is the entry point address of the function; that entry
+  // point address refers to a region in the .text section.
+  //
+  // So we are only interested in values of the symbol that are in the .opd
+  // section.
+  const GElf_Addr fn_desc_addr = native_symbol->st_value;
+  const GElf_Addr fn_entry_point_addr =
+    elf_helpers::lookup_ppc64_elf_fn_entry_point_address(elf_handle,
+							 fn_desc_addr);
+
+  const std::pair<addr_symbol_map_type::const_iterator, bool>& result =
+    entry_addr_symbol_map_.insert(
+      std::make_pair(fn_entry_point_addr, symbol_sptr));
+
+  const addr_symbol_map_type::const_iterator it = result.first;
+  const bool was_inserted = result.second;
+  if (!was_inserted
+      && elf_helpers::address_is_in_opd_section(elf_handle, fn_desc_addr))
+    {
+      // Either
+      //
+      // 'symbol' must have been registered as an alias for
+      // it->second->get_main_symbol()
+      //
+      // Or
+      //
+      // if the name of 'symbol' is foo, then the name of it2->second is
+      // ".foo". That is, foo is the name of the symbol when it refers to the
+      // function descriptor in the .opd section and ".foo" is an internal name
+      // for the address of the entry point of foo.
+      //
+      // In the latter case, we just want to keep a reference to "foo" as .foo
+      // is an internal name.
+
+      const bool two_symbols_alias =
+	it->second->get_main_symbol()->does_alias(*symbol_sptr);
+      const bool symbol_is_foo_and_prev_symbol_is_dot_foo =
+	(it->second->get_name() == std::string(".") + symbol_sptr->get_name());
+
+      ABG_ASSERT(two_symbols_alias
+		 || symbol_is_foo_and_prev_symbol_is_dot_foo);
+
+      if (symbol_is_foo_and_prev_symbol_is_dot_foo)
+	// Let's just keep a reference of the symbol that the user sees in the
+	// source code (the one named foo). The symbol which name is prefixed
+	// with a "dot" is an artificial one.
+	entry_addr_symbol_map_[fn_entry_point_addr] = symbol_sptr;
+    }
+}
+
 } // end namespace symtab_reader
 } // end namespace abigail
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 15/16] abg-corpus: remove symbol maps and their setters
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (13 preceding siblings ...)
  2020-06-19 21:43 ` [PATCH v1 14/16] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
@ 2020-06-19 21:43 ` Matthias Maennich
  2020-06-19 21:43 ` [PATCH v1 16/16] dwarf reader: drop (now) unused code related symbol table reading Matthias Maennich
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:43 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

With the prework in previous commits, we are now able to drop the
public symbols maps in corpus::priv and replace them by private members
with access through getters. The getters use the new symtab
implementation to generate the maps on the fly. Setters are not required
anymore and are removed. Also remove redundant getters.

We could also remove the getters for the symbol maps and the local
caching variable and leave it all to lookup_symbol, but this is left for
a later change.

	* include/abg-corpus.h (corpus::set_fun_symbol_map): Remove
	method declaration.
	(corpus::set_undefined_fun_symbol_map): Likewise.
	(corpus::set_var_symbol_map): Likewise.
	(corpus::set_undefined_var_symbol_map): Likewise.
	(corpus::get_fun_symbol_map_sptr): Likewise.
	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
	(corpus::get_var_symbol_map_sptr): Likewise.
	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
	* src/abg-corpus-priv.h (corpus::priv::var_symbol_map): make
	private and mutable
	(corpus::priv::undefined_var_symbol_map): Likewise.
	(corpus::priv::fun_symbol_map): Likewise.
	(corpus::priv::undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_fun_symbol_map): New method declaration.
	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_var_symbol_map): Likewise.
	(corpus::priv::get_undefined_var_symbol_map): Likewise.
	* src/abg-corpus.cc (corpus::priv::get_fun_symbol_map): New
	method implementation.
	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_var_symbol_map): Likewise.
	(corpus::priv::get_undefined_var_symbol_map): Likewise.
	(corpus::is_empty): depend on symtab only.
	(corpus::set_fun_symbol_map): Remove method.
	(corpus::set_undefined_fun_symbol_map): Likewise.
	(corpus::set_var_symbol_map): Likewise.
	(corpus::set_undefined_var_symbol_map): Likewise.
	(corpus::get_fun_symbol_map_sptr): Likewise.
	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
	(corpus::get_var_symbol_map_sptr): Likewise.
	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
	(corpus::get_fun_symbol_map): Use corpus::priv proxy method.
	(corpus::get_undefined_fun_symbol_map): Likewise.
	(corpus::get_var_symbol_map): Likewise.
	(corpus::get_undefined_var_symbol_map): Likewise.
	* src/abg-dwarf-reader.cc (read_debug_info_into_corpus): Do not
	set corpus symbol maps anymore.
	* src/abg-reader.cc (read_corpus_from_input): Likewise.
	* tests/test-symtab.cc (assert_symbol_count): Do not access the
	corpus symbol maps through sptr anymore.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust
	expected test output.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-corpus.h                          |  24 ---
 src/abg-corpus-priv.h                         |  21 ++-
 src/abg-corpus.cc                             | 159 ++++++++----------
 src/abg-dwarf-reader.cc                       |  48 ------
 src/abg-reader.cc                             |  11 --
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   2 -
 tests/test-symtab.cc                          |  15 +-
 7 files changed, 99 insertions(+), 181 deletions(-)

diff --git a/include/abg-corpus.h b/include/abg-corpus.h
index b94926996cde..f517986d8aca 100644
--- a/include/abg-corpus.h
+++ b/include/abg-corpus.h
@@ -175,27 +175,9 @@ public:
   const symtab_reader::symtab_sptr&
   get_symtab() const;
 
-  void
-  set_fun_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_undefined_fun_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_var_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_undefined_var_symbol_map(string_elf_symbols_map_sptr);
-
-  const string_elf_symbols_map_sptr
-  get_fun_symbol_map_sptr() const;
-
   virtual const string_elf_symbols_map_type&
   get_fun_symbol_map() const;
 
-  const string_elf_symbols_map_sptr
-  get_undefined_fun_symbol_map_sptr() const;
-
   const string_elf_symbols_map_type&
   get_undefined_fun_symbol_map() const;
 
@@ -205,15 +187,9 @@ public:
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
-  const string_elf_symbols_map_sptr
-  get_var_symbol_map_sptr() const;
-
   virtual const string_elf_symbols_map_type&
   get_var_symbol_map() const;
 
-  const string_elf_symbols_map_sptr
-  get_undefined_var_symbol_map_sptr() const;
-
   const string_elf_symbols_map_type&
   get_undefined_var_symbol_map() const;
 
diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index f2e895bf1e7d..fcb6d7a66b8e 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -30,6 +30,7 @@
 #define __ABG_CORPUS_PRIV_H__
 
 #include "abg-internal.h"
+#include "abg-ir.h"
 #include "abg-regex.h"
 #include "abg-sptr-utils.h"
 #include "abg-symtab-reader.h"
@@ -697,11 +698,7 @@ struct corpus::priv
   string_tu_map_type				path_tu_map;
   vector<function_decl*>			fns;
   vector<var_decl*>				vars;
-  string_elf_symbols_map_sptr			var_symbol_map;
-  string_elf_symbols_map_sptr			undefined_var_symbol_map;
   symtab_reader::symtab_sptr			symtab_;
-  string_elf_symbols_map_sptr			fun_symbol_map;
-  string_elf_symbols_map_sptr			undefined_fun_symbol_map;
   // The type maps contained in this data member are populated if the
   // corpus follows the One Definition Rule and thus if there is only
   // one copy of a type with a given name, per corpus. Otherwise, if
@@ -722,10 +719,14 @@ private:
   priv();
 
   mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> var_symbol_map;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> undefined_var_symbol_map;
   mutable abg_compat::optional<elf_symbols> unrefed_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> fun_symbol_map;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> undefined_fun_symbol_map;
   mutable abg_compat::optional<elf_symbols> unrefed_fun_symbols;
 
 public:
@@ -747,18 +748,30 @@ public:
   const elf_symbols&
   get_sorted_fun_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_fun_symbol_map() const;
+
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_undefined_fun_symbol_map() const;
+
   const elf_symbols&
   get_unreferenced_function_symbols() const;
 
   const elf_symbols&
   get_sorted_var_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_var_symbol_map() const;
+
   const elf_symbols&
   get_sorted_undefined_var_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_undefined_var_symbol_map() const;
+
   const elf_symbols&
   get_unreferenced_variable_symbols() const;
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 0f5d51820891..1f72904d137f 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -347,6 +347,22 @@ corpus::priv::get_sorted_fun_symbols() const
   return *sorted_fun_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_fun_symbol_map() const
+{
+  if (!fun_symbol_map)
+    {
+      fun_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator iter = get_sorted_fun_symbols().begin(),
+				       end = get_sorted_fun_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*fun_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *fun_symbol_map;
+}
+
 /// Getter for a sorted vector of the function symbols undefined in
 /// this corpus.
 ///
@@ -368,6 +384,25 @@ corpus::priv::get_sorted_undefined_fun_symbols() const
   return *sorted_undefined_fun_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_undefined_fun_symbol_map() const
+{
+  if (!undefined_fun_symbol_map)
+    {
+      undefined_fun_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator
+	       iter = get_sorted_undefined_fun_symbols().begin(),
+	       end = get_sorted_undefined_fun_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*undefined_fun_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *undefined_fun_symbol_map;
+}
+
+
+
 /// Return a list of symbols that are not referenced by any function of
 /// corpus::get_functions().
 ///
@@ -448,6 +483,22 @@ corpus::priv::get_sorted_var_symbols() const
   return *sorted_var_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_var_symbol_map() const
+{
+  if (!var_symbol_map)
+    {
+      var_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator iter = get_sorted_var_symbols().begin(),
+				       end = get_sorted_var_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*var_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *var_symbol_map;
+}
+
 /// Getter for a sorted vector of the variable symbols undefined in
 /// this corpus.
 ///
@@ -469,6 +520,23 @@ corpus::priv::get_sorted_undefined_var_symbols() const
   return *sorted_undefined_var_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_undefined_var_symbol_map() const
+{
+  if (!undefined_var_symbol_map)
+    {
+      undefined_var_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator
+	       iter = get_sorted_undefined_var_symbols().begin(),
+	       end = get_sorted_undefined_var_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*undefined_var_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *undefined_var_symbol_map;
+}
+
 /// Return a list of symbols that are not referenced by any variable of
 /// corpus::get_variables().
 ///
@@ -954,10 +1022,7 @@ corpus::is_empty() const
 	}
     }
   return (members_empty
-	  && priv_->fun_symbol_map
-	  && priv_->fun_symbol_map->empty()
-	  && priv_->var_symbol_map
-	  && priv_->var_symbol_map->empty()
+	  && !get_symtab()->has_symbols()
 	  && priv_->soname.empty()
 	  && priv_->needed.empty());
 }
@@ -991,69 +1056,12 @@ const symtab_reader::symtab_sptr&
 corpus::get_symtab() const
 { return priv_->symtab_; }
 
-/// Setter of the function symbols map.
-///
-/// @param map a shared pointer to the new function symbols map.
-void
-corpus::set_fun_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->fun_symbol_map = map;}
-
-/// Setter for the map of function symbols that are undefined in this
-/// corpus.
-///
-/// @param map a new map for function symbols not defined in this
-/// corpus.  The key of the map is the name of the function symbol.
-/// The value is a vector of all the function symbols that have the
-/// same name.
-void
-corpus::set_undefined_fun_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->undefined_fun_symbol_map = map;}
-
-/// Setter of the variable symbols map.
-///
-/// @param map a shared pointer to the new variable symbols map.
-void
-corpus::set_var_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->var_symbol_map = map;}
-
-/// Setter for the map of variable symbols that are undefined in this
-/// corpus.
-///
-/// @param map a new map for variable symbols not defined in this
-/// corpus.  The key of the map is the name of the variable symbol.
-/// The value is a vector of all the variable symbols that have the
-/// same name.
-void
-corpus::set_undefined_var_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->undefined_var_symbol_map = map;}
-
-/// Getter for the function symbols map.
-///
-/// @return a shared pointer to the function symbols map.
-const string_elf_symbols_map_sptr
-corpus::get_fun_symbol_map_sptr() const
-{
-  if (!priv_->fun_symbol_map)
-    priv_->fun_symbol_map.reset(new string_elf_symbols_map_type);
-  return priv_->fun_symbol_map;
-}
-
 /// Getter for the function symbols map.
 ///
 /// @return a reference to the function symbols map.
 const string_elf_symbols_map_type&
 corpus::get_fun_symbol_map() const
-{return *get_fun_symbol_map_sptr();}
-
-/// Getter for the map of function symbols that are undefined in this
-/// corpus.
-///
-/// @return the map of function symbols not defined in this corpus.
-/// The key of the map is the name of the function symbol.  The value
-/// is a vector of all the function symbols that have the same name.
-const string_elf_symbols_map_sptr
-corpus::get_undefined_fun_symbol_map_sptr() const
-{return priv_->undefined_fun_symbol_map;}
+{return priv_->get_fun_symbol_map();}
 
 /// Getter for the map of function symbols that are undefined in this
 /// corpus.
@@ -1063,7 +1071,7 @@ corpus::get_undefined_fun_symbol_map_sptr() const
 /// is a vector of all the function symbols that have the same name.
 const string_elf_symbols_map_type&
 corpus::get_undefined_fun_symbol_map() const
-{return *get_undefined_fun_symbol_map_sptr();}
+{return priv_->get_undefined_fun_symbol_map();}
 
 const elf_symbols&
 corpus::get_sorted_fun_symbols() const
@@ -1081,33 +1089,12 @@ const elf_symbols&
 corpus::get_sorted_undefined_var_symbols() const
 { return priv_->get_sorted_undefined_var_symbols(); }
 
-/// Getter for the variable symbols map.
-///
-/// @return a shared pointer to the variable symbols map.
-const string_elf_symbols_map_sptr
-corpus::get_var_symbol_map_sptr() const
-{
-  if (!priv_->var_symbol_map)
-    priv_->var_symbol_map.reset(new string_elf_symbols_map_type);
-  return priv_->var_symbol_map;
-}
-
 /// Getter for the variable symbols map.
 ///
 /// @return a reference to the variabl symbols map.
 const string_elf_symbols_map_type&
 corpus::get_var_symbol_map() const
-{return *get_var_symbol_map_sptr();}
-
-/// Getter for the map of variable symbols that are undefined in this
-/// corpus.
-///
-/// @return the map of variable symbols not defined in this corpus.
-/// The key of the map is the name of the variable symbol.  The value
-/// is a vector of all the variable symbols that have the same name.
-const string_elf_symbols_map_sptr
-corpus::get_undefined_var_symbol_map_sptr() const
-{return priv_->undefined_var_symbol_map;}
+{return priv_->get_var_symbol_map();}
 
 /// Getter for the map of variable symbols that are undefined in this
 /// corpus.
@@ -1117,7 +1104,7 @@ corpus::get_undefined_var_symbol_map_sptr() const
 /// is a vector of all the variable symbols that have the same name.
 const string_elf_symbols_map_type&
 corpus::get_undefined_var_symbol_map() const
-{return *get_undefined_var_symbol_map_sptr();}
+{return priv_->get_undefined_var_symbol_map();}
 
 /// Look in the function symbols map for a symbol with a given name.
 ///
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 73069e844eba..2b978c239243 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -14133,54 +14133,6 @@ read_debug_info_into_corpus(read_context& ctxt)
 
   // Set symbols information to the corpus.
   ctxt.current_corpus()->set_symtab(ctxt.symtab());
-  if (!get_ignore_symbol_table(ctxt))
-    {
-      if (ctxt.load_in_linux_kernel_mode()
-	  && is_linux_kernel(ctxt.elf_handle()))
-	{
-	  string_elf_symbols_map_sptr exported_fn_symbols_map
-	    (new string_elf_symbols_map_type);
-	  symtab_reader::symtab_filter filter =
-	      ctxt.symtab()->make_filter().functions();
-
-	  for (symtab_reader::symtab::const_iterator
-		   it = ctxt.symtab()->begin(filter),
-		   end = ctxt.symtab()->end();
-	       it != end; ++it)
-	    {
-	      (*exported_fn_symbols_map)[(*it)->get_name()].push_back(*it);
-	    }
-
-	  ctxt.current_corpus()->set_fun_symbol_map(exported_fn_symbols_map);
-
-	  string_elf_symbols_map_sptr exported_var_symbols_map(
-	      new string_elf_symbols_map_type);
-	  filter = ctxt.symtab()->make_filter().variables();
-	  for (symtab_reader::symtab::const_iterator
-		   it = ctxt.symtab()->begin(filter),
-		   end = ctxt.symtab()->end();
-	       it != end; ++it)
-	    {
-	      (*exported_var_symbols_map)[(*it)->get_name()].push_back(*it);
-	    }
-	  ctxt.current_corpus()->set_var_symbol_map(exported_var_symbols_map);
-	}
-      else
-	{
-	  ctxt.current_corpus()->set_fun_symbol_map(ctxt.fun_syms_sptr());
-	  ctxt.current_corpus()->set_var_symbol_map(ctxt.var_syms_sptr());
-	}
-
-      ctxt.current_corpus()->set_undefined_fun_symbol_map
-	(ctxt.undefined_fun_syms_sptr());
-      ctxt.current_corpus()->set_undefined_var_symbol_map
-	(ctxt.undefined_var_syms_sptr());
-    }
-  else
-    {
-      ctxt.current_corpus()->set_fun_symbol_map(ctxt.fun_syms_sptr());
-      ctxt.current_corpus()->set_var_symbol_map(ctxt.var_syms_sptr());
-    }
 
   // Get out now if no debug info is found.
   if (!ctxt.dwarf())
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 313639fddff0..fbdcce590bc3 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -1974,17 +1974,6 @@ read_corpus_from_input(read_context& ctxt)
       // are nil, due to potential suppression specifications.  That's
       // fine.
       corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db));
-
-      if (fn_sym_db)
-	{
-	  corp.set_fun_symbol_map(fn_sym_db);
-	  fn_sym_db.reset();
-	}
-      if (var_sym_db)
-	{
-	  corp.set_var_symbol_map(var_sym_db);
-	  var_sym_db.reset();
-	}
     }
 
   ctxt.get_environment()->canonicalization_is_done(false);
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index d5af7183095f..24c25c06d61c 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -37,8 +37,6 @@
     <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
-  <elf-variable-symbols>
-  </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
 
 
diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index 905d8249a6e4..c144b1d080f6 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -104,17 +104,19 @@ assert_symbol_count(const std::string& path,
   REQUIRE((status & dwarf_reader::STATUS_OK));
   const corpus& corpus = *corpus_ptr;
 
+  size_t total_symbols = 0;
+
   if (function_symbols != N)
     {
       CHECK(corpus.get_sorted_fun_symbols().size() == function_symbols);
       CHECK(corpus.get_fun_symbol_map().size() == function_symbols);
-      CHECK(corpus.get_fun_symbol_map_sptr()->size() == function_symbols);
+      total_symbols += function_symbols;
     }
   if (variable_symbols != N)
     {
       CHECK(corpus.get_sorted_var_symbols().size() == variable_symbols);
       CHECK(corpus.get_var_symbol_map().size() == variable_symbols);
-      CHECK(corpus.get_var_symbol_map_sptr()->size() == variable_symbols);
+      total_symbols += variable_symbols;
     }
   if (undefined_variable_symbols != N)
     {
@@ -122,8 +124,7 @@ assert_symbol_count(const std::string& path,
 	    == undefined_function_symbols);
       CHECK(corpus.get_undefined_fun_symbol_map().size()
 	    == undefined_function_symbols);
-      CHECK(corpus.get_undefined_fun_symbol_map_sptr()->size()
-	    == undefined_function_symbols);
+      total_symbols += undefined_function_symbols;
     }
   if (undefined_function_symbols != N)
     {
@@ -131,10 +132,12 @@ assert_symbol_count(const std::string& path,
 	    == undefined_variable_symbols);
       CHECK(corpus.get_undefined_var_symbol_map().size()
 	    == undefined_variable_symbols);
-      CHECK(corpus.get_undefined_var_symbol_map_sptr()->size()
-	    == undefined_variable_symbols);
+      total_symbols += undefined_variable_symbols;
     }
 
+  // assert the corpus reports being empty consistently with the symbol count
+  CHECK(corpus.is_empty() == (total_symbols == 0));
+
   return corpus_ptr;
 }
 
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v1 16/16] dwarf reader: drop (now) unused code related symbol table reading
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (14 preceding siblings ...)
  2020-06-19 21:43 ` [PATCH v1 15/16] abg-corpus: remove symbol maps and their setters Matthias Maennich
@ 2020-06-19 21:43 ` Matthias Maennich
  2020-06-22  9:56   ` Giuliano Procida
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
  17 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2020-06-19 21:43 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The introduction of the new symtab reader incorporated much of the
existing functionality. Now that the most code parts are migrated to the
new symtab reader, we can safely remove the old code paths.

Ignoring the symbol table is not a thing anymore. The new symtab reader
does read the symtab unconditionally for consistency reasons. Hence also
remove all functionality around conditional symtab reading.

	* include/abg-dwarf-reader.h (set_ignore_symbol_table): Remove.
	(get_ignore_symbol_table): Likewise.
	* src/abg-dwarf-reader.cc (add_symbol_to_map): Likewise.
	(read_context::options_type::ignore_symbol_table): Likewise.
	(read_context::options_type): Adjust.
	(read_context::fun_addr_sym_map_): Remove.
	(read_context::fun_entry_addr_sym_map_): Likewise.
	(read_context::fun_syms_): Likewise.
	(read_context::var_addr_sym_map_): Likewise.
	(read_context::var_syms_): Likewise.
	(read_context::undefined_fun_syms_): Likewise.
	(read_context::undefined_var_syms_): Likewise.
	(read_context::initialize): Adjust.
	(read_context::lookup_elf_symbol_from_index): Remove.
	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
	(read_context::fun_entry_addr_sym_map): Likewise.
	(read_context::fun_syms_sptr): Likewise.
	(read_context::fun_syms): Likewise.
	(read_context::var_syms_sptr): Likewise.
	(read_context::var_syms): Likewise.
	(read_context::undefined_fun_syms_sptr): Likewise.
	(read_context::undefined_var_syms_sptr): Likewise.
	(read_context::load_symbol_maps_from_symtab_section): Likewise.
	(read_context::load_symbol_maps): Likewise.
	(read_context::maybe_load_symbol_maps): Likewise.
	(set_ignore_symbol_table): Likewise.
	(get_ignore_symbol_table): Likewise.
	(create_default_var_sym): Likewise.
	(build_var_decl): Adjust.
	(function_is_suppressed): Likewise.
	(variable_is_suppressed): Likewise.
	(build_function_decl): Likewise.
	(add_symbol_to_map): Remove.
	(read_corpus_from_elf): Adjust.
	(build_corpus_group_from_kernel_dist_under): Likewise.
	* tools/abidw.cc (main): Likewise.

Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-dwarf-reader.h |   6 -
 src/abg-dwarf-reader.cc    | 656 +------------------------------------
 src/abg-tools-utils.cc     |  13 -
 tools/abidw.cc             |   2 -
 4 files changed, 12 insertions(+), 665 deletions(-)

diff --git a/include/abg-dwarf-reader.h b/include/abg-dwarf-reader.h
index d0329aed9ccf..3f062e04502d 100644
--- a/include/abg-dwarf-reader.h
+++ b/include/abg-dwarf-reader.h
@@ -195,12 +195,6 @@ set_drop_undefined_syms(read_context& ctxt,
 void
 set_do_log(read_context& ctxt, bool f);
 
-void
-set_ignore_symbol_table(read_context &ctxt, bool f);
-
-bool
-get_ignore_symbol_table(const read_context &ctxt);
-
 void
 set_environment(read_context& ctxt,
 		ir::environment*);
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 2b978c239243..b69fcc79cfd6 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -291,10 +291,6 @@ static bool
 operator<(const imported_unit_point& l, const imported_unit_point& r)
 {return l.offset_of_import < r.offset_of_import;}
 
-static void
-add_symbol_to_map(const elf_symbol_sptr& sym,
-		  string_elf_symbols_map_type& map);
-
 static bool
 get_parent_die(const read_context&	ctxt,
 	       const Dwarf_Die*	die,
@@ -2026,7 +2022,6 @@ public:
     environment*	env;
     bool		load_in_linux_kernel_mode;
     bool		load_all_types;
-    bool		ignore_symbol_table;
     bool		show_stats;
     bool		do_log;
 
@@ -2034,7 +2029,6 @@ public:
       : env(),
 	load_in_linux_kernel_mode(),
 	load_all_types(),
-	ignore_symbol_table(),
 	show_stats(),
 	do_log()
     {}
@@ -2230,19 +2224,6 @@ public:
   offset_offset_map_type	alternate_die_parent_map_;
   offset_offset_map_type	type_section_die_parent_map_;
   list<var_decl_sptr>		var_decls_to_add_;
-  addr_elf_symbol_sptr_map_sptr fun_addr_sym_map_;
-  // On PPC64, the function entry point address is different from the
-  // GElf_Sym::st_value value, which is the address of the descriptor
-  // of the function.  The map below thus associates the address of
-  // the entry point to the function symbol.  If we are not on ppc64,
-  // then this map ought to be empty.  Only the fun_addr_sym_map_ is
-  // used in that case.  On ppc64, though, both maps are used.
-  addr_elf_symbol_sptr_map_sptr fun_entry_addr_sym_map_;
-  string_elf_symbols_map_sptr	fun_syms_;
-  addr_elf_symbol_sptr_map_sptr var_addr_sym_map_;
-  string_elf_symbols_map_sptr	var_syms_;
-  string_elf_symbols_map_sptr	undefined_fun_syms_;
-  string_elf_symbols_map_sptr	undefined_var_syms_;
   vector<string>		dt_needed_;
   string			dt_soname_;
   string			elf_architecture_;
@@ -2378,13 +2359,6 @@ public:
     alternate_die_parent_map_.clear();
     type_section_die_parent_map_.clear();
     var_decls_to_add_.clear();
-    fun_addr_sym_map_.reset();
-    fun_entry_addr_sym_map_.reset();
-    fun_syms_.reset();
-    var_addr_sym_map_.reset();
-    var_syms_.reset();
-    undefined_fun_syms_.reset();
-    undefined_var_syms_.reset();
     dt_needed_.clear();
     dt_soname_.clear();
     elf_architecture_.clear();
@@ -5044,88 +5018,6 @@ public:
     return true;
   }
 
-  /// Given the index of a symbol into the symbol table of an ELF
-  /// file, look the symbol up, build an instace of @ref elf_symbol
-  /// and return it.
-  ///
-  /// @param symbol_index the index of the symbol into the symbol
-  /// table of the current elf file.
-  ///
-  /// @return the elf symbol found or nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_index(size_t symbol_index)
-  {
-    GElf_Sym s;
-    elf_symbol_sptr result =
-      lookup_elf_symbol_from_index(symbol_index, s);
-    return result;
-  }
-
-  /// Lookup an ELF symbol given its index into the .symtab section.
-  ///
-  /// This function returns both the native symbol (from libelf) and
-  /// the @p abigail::ir::elf_symbol instance, which is the
-  /// libabigail-specific representation of the symbol.
-  ///
-  /// @param symbol_index the index of the symbol to look for.
-  ///
-  /// @param native_sym output parameter.  This is set to the native
-  /// ELF symbol found iff the function returns a non-nil value.
-  ///
-  /// @return an instance of libabigail::ir::elf_symbol representing
-  /// the ELF symbol found, iff one was found.  Otherwise, returns
-  /// nil.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_index(size_t symbol_index,
-			       GElf_Sym &native_sym)
-  {
-    if (!lookup_native_elf_symbol_from_index(symbol_index, native_sym))
-      return elf_symbol_sptr();
-
-    Elf_Scn* symtab_section = find_symbol_table_section();
-    if (!symtab_section)
-      return elf_symbol_sptr();
-
-    GElf_Shdr header_mem;
-    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
-					     &header_mem);
-
-    Elf_Data* symtab = elf_getdata(symtab_section, 0);
-    ABG_ASSERT(symtab);
-
-    bool sym_is_defined = native_sym.st_shndx != SHN_UNDEF;
-    bool sym_is_common = native_sym.st_shndx == SHN_COMMON; // this occurs in
-							    // relocatable
-							    // files.
-    const char* name_str = elf_strptr(elf_handle(),
-				      symtab_sheader->sh_link,
-				      native_sym.st_name);
-    if (name_str == 0)
-      name_str = "";
-
-    elf_symbol::version ver;
-    elf_helpers::get_version_for_symbol(elf_handle(), symbol_index,
-					sym_is_defined, ver);
-
-    elf_symbol::visibility vis =
-      stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(native_sym.st_other));
-
-    Elf_Scn* strings_section = find_ksymtab_strings_section(elf_handle());
-    size_t strings_ndx = strings_section
-      ? elf_ndxscn(strings_section)
-      : 0;
-
-    elf_symbol_sptr sym =
-      elf_symbol::create(env(), symbol_index, native_sym.st_size,
-			 name_str, stt_to_elf_symbol_type
-			 (GELF_ST_TYPE(native_sym.st_info)),
-			 stb_to_elf_symbol_binding
-			 (GELF_ST_BIND(native_sym.st_info)),
-			 sym_is_defined, sym_is_common, ver, vis,
-			 native_sym.st_shndx == strings_ndx);
-    return sym;
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5206,102 +5098,6 @@ public:
     return symtab_;
   }
 
-  /// Getter for a pointer to the map that associates the address of
-  /// an entry point of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return a pointer to the map that associates the address of an
-  /// entry point of a function with the symbol of that function.
-  addr_elf_symbol_sptr_map_sptr&
-  fun_entry_addr_sym_map_sptr()
-  {
-    if (!fun_entry_addr_sym_map_ && !fun_addr_sym_map_)
-      maybe_load_symbol_maps();
-    if (architecture_is_ppc64(elf_handle()))
-      return fun_entry_addr_sym_map_;
-    return fun_addr_sym_map_;
-  }
-
-  /// Getter for the map that associates the address of an entry point
-  /// of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return the map that associates the address of an entry point of
-  /// a function with the symbol of that function.
-  addr_elf_symbol_sptr_map_type&
-  fun_entry_addr_sym_map()
-  {return *fun_entry_addr_sym_map_sptr();}
-
-  /// Getter for the map of function symbols (name -> sym).
-  ///
-  /// @return a shared pointer to the map of function symbols.
-  const string_elf_symbols_map_sptr&
-  fun_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return fun_syms_;
-  }
-
-  /// Getter for the map of function symbols (name -> sym).
-  ///
-  /// @return a reference to the map of function symbols.
-  string_elf_symbols_map_type&
-  fun_syms()
-  {
-    maybe_load_symbol_maps();
-    return *fun_syms_;
-  }
-
-  /// Getter for the map of variable symbols (name -> sym)
-  ///
-  /// @return a shared pointer to the map of variable symbols.
-  const string_elf_symbols_map_sptr
-  var_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return var_syms_;
-  }
-
-  /// Getter for the map of variable symbols (name -> sym)
-  ///
-  /// @return a reference to the map of variable symbols.
-  string_elf_symbols_map_type&
-  var_syms()
-  {
-    maybe_load_symbol_maps();
-    return *var_syms_;
-  }
-
-  /// Getter for the map of undefined function symbols (name -> vector
-  /// of symbols).
-  ///
-  /// @return a (smart) pointer to the map of undefined function
-  /// symbols.
-  const string_elf_symbols_map_sptr&
-  undefined_fun_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return undefined_fun_syms_;
-  }
-
-  /// Getter for the map of undefined variable symbols (name -> vector
-  /// of symbols).
-  ///
-  /// @return a (smart) pointer to the map of undefined variable
-  /// symbols.
-  const string_elf_symbols_map_sptr&
-  undefined_var_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return undefined_var_syms_;
-  }
-
   /// Getter for the ELF dt_needed tag.
   const vector<string>&
   dt_needed() const
@@ -5317,232 +5113,6 @@ public:
   elf_architecture() const
   {return elf_architecture_;}
 
-  /// Load the maps address -> function symbol, address -> variable
-  /// symbol and the maps of function and variable undefined symbols.
-  ///
-  /// @param load_fun_map whether to load the address to function map.
-  ///
-  /// @param load_var_map whether to laod the address to variable map.
-  ///
-  /// @param load_undefined_fun_map whether to load the undefined
-  /// function map.
-  ///
-  /// @param load_undefined_var_map whether to laod the undefined
-  /// variable map.
-  ///
-  /// @return return true iff the maps have be loaded.
-  bool
-  load_symbol_maps_from_symtab_section(bool load_fun_map,
-				       bool load_var_map,
-				       bool load_undefined_fun_map,
-				       bool load_undefined_var_map)
-  {
-    Elf_Scn* symtab_section = find_symbol_table_section();
-    if (!symtab_section)
-      return false;
-
-    GElf_Shdr header_mem;
-    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
-					     &header_mem);
-
-    // check for bogus section header
-    if (symtab_sheader->sh_entsize == 0)
-      return false;
-
-    size_t nb_syms = symtab_sheader->sh_size / symtab_sheader->sh_entsize;
-
-    Elf_Data* symtab = elf_getdata(symtab_section, 0);
-    if (!symtab)
-      return false;
-
-    GElf_Ehdr elf_header;
-    ABG_ASSERT(gelf_getehdr(elf_handle(), &elf_header));
-
-    bool is_ppc64 = architecture_is_ppc64(elf_handle());
-
-    for (size_t i = 0; i < nb_syms; ++i)
-      {
-	GElf_Sym* sym, sym_mem;
-	sym = gelf_getsym(symtab, i, &sym_mem);
-	ABG_ASSERT(sym);
-
-	if ((load_fun_map || load_undefined_fun_map)
-	    && (GELF_ST_TYPE(sym->st_info) == STT_FUNC
-		|| GELF_ST_TYPE(sym->st_info) == STT_GNU_IFUNC))
-	  {
-	    elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
-	    ABG_ASSERT(symbol);
-	    ABG_ASSERT(symbol->is_function());
-
-	    // If the symbol was suppressed by a suppression
-	    // specification then drop it on the floor.
-	    if (is_elf_symbol_suppressed(symbol))
-	      continue;
-
-	    if (load_fun_map && symbol->is_public())
-	      {
-		(*fun_syms_)[symbol->get_name()].push_back(symbol);
-
-		{
-		  GElf_Addr symbol_value =
-		      maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-							       sym);
-
-		  addr_elf_symbol_sptr_map_type::const_iterator it =
-		    fun_addr_sym_map_->find(symbol_value);
-		  if (it == fun_addr_sym_map_->end())
-		    (*fun_addr_sym_map_)[symbol_value] = symbol;
-		  else //if (sym->st_value != 0)
-		    it->second->get_main_symbol()->add_alias(symbol);
-
-		  if (is_ppc64)
-		    {
-		      // For ppc64 ELFv1 binaries, we need to build a
-		      // function entry point address -> function
-		      // symbol map.  This is in addition to the
-		      // function pointer -> symbol map.  This is
-		      // because on ppc64 ELFv1, a function pointer is
-		      // different from a function entry point
-		      // address.
-		      //
-		      // On ppc64 ELFv1, the DWARF DIE of a function
-		      // references the address of the entry point of
-		      // the function symbol; whereas the value of the
-		      // function symbol is the function pointer.  As
-		      // these addresses are different, if I we want
-		      // to get to the symbol of a function from its
-		      // entry point address (as referenced by DWARF
-		      // function DIEs) we must have the two maps I
-		      // mentionned right above.
-		      //
-		      // In other words, we need a map that associates
-		      // a function enty point address with the symbol
-		      // of that function, to be able to get the
-		      // function symbol that corresponds to a given
-		      // function DIE, on ppc64.
-		      //
-		      // The value of the function pointer (the value
-		      // of the symbol) usually refers to the offset
-		      // of a table in the .opd section.  But
-		      // sometimes, for a symbol named "foo", the
-		      // corresponding symbol named ".foo" (note the
-		      // dot before foo) which value is the entry
-		      // point address of the function; that entry
-		      // point address refers to a region in the .text
-		      // section.
-		      //
-		      // So we are only interested in values of the
-		      // symbol that are in the .opd section.
-		      GElf_Addr fn_desc_addr = sym->st_value;
-		      GElf_Addr fn_entry_point_addr =
-			  lookup_ppc64_elf_fn_entry_point_address(
-			      elf_handle(), fn_desc_addr);
-		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
-			fun_entry_addr_sym_map().find(fn_entry_point_addr);
-
-		      if (it2 == fun_entry_addr_sym_map().end())
-			fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-		      else if (address_is_in_opd_section(elf_handle(),
-							 fn_desc_addr))
-			{
-			  // Either
-			  //
-			  // 'symbol' must have been registered as an
-			  // alias for it2->second->get_main_symbol(),
-			  // right before the "if (ppc64)" statement.
-			  //
-			  // Or
-			  //
-			  // if the name of 'symbol' is foo, then the
-			  // name of it2->second is ".foo".  That is,
-			  // foo is the name of the symbol when it
-			  // refers to the function descriptor in the
-			  // .opd section and ".foo" is an internal
-			  // name for the address of the entry point
-			  // of foo.
-			  //
-			  // In the latter case, we just want to keep
-			  // a refernce to "foo" as .foo is an
-			  // internal name.
-
-			  bool two_symbols_alias =
-			    it2->second->get_main_symbol()->does_alias(*symbol);
-			  bool symbol_is_foo_and_prev_symbol_is_dot_foo =
-			    (it2->second->get_name()
-			     == string(".") + symbol->get_name());
-
-			  ABG_ASSERT(two_symbols_alias
-				 || symbol_is_foo_and_prev_symbol_is_dot_foo);
-
-			  if (symbol_is_foo_and_prev_symbol_is_dot_foo)
-			    // Let's just keep a reference of the
-			    // symbol that the user sees in the source
-			    // code (the one named foo).  The symbol
-			    // which name is prefixed with a "dot" is
-			    // an artificial one.
-			    fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-			}
-		    }
-		}
-	      }
-	    else if (load_undefined_fun_map && !symbol->is_defined())
-	      (*undefined_fun_syms_)[symbol->get_name()].push_back(symbol);
-	  }
-	else if ((load_var_map || load_undefined_var_map)
-		 && (GELF_ST_TYPE(sym->st_info) == STT_OBJECT
-		     || GELF_ST_TYPE(sym->st_info) == STT_TLS)
-		 // If the symbol is for an OBJECT, the index of the
-		 // section it refers to cannot be absolute.
-		 // Otherwise that OBJECT is not a variable.
-		 && (sym->st_shndx != SHN_ABS
-		     || GELF_ST_TYPE(sym->st_info) != STT_OBJECT ))
-	  {
-	    elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
-	    ABG_ASSERT(symbol);
-	    ABG_ASSERT(symbol->is_variable());
-
-	    if (load_var_map && symbol->is_public())
-	      {
-		(*var_syms_)[symbol->get_name()].push_back(symbol);
-
-		if (symbol->is_common_symbol())
-		  {
-		    string_elf_symbols_map_type::iterator it =
-		      var_syms_->find(symbol->get_name());
-		    ABG_ASSERT(it != var_syms_->end());
-		    const elf_symbols& common_sym_instances = it->second;
-		    ABG_ASSERT(!common_sym_instances.empty());
-		    if (common_sym_instances.size() > 1)
-		      {
-			elf_symbol_sptr main_common_sym =
-			  common_sym_instances[0];
-			ABG_ASSERT(main_common_sym->get_name()
-			       == symbol->get_name());
-			ABG_ASSERT(main_common_sym->is_common_symbol());
-			ABG_ASSERT(symbol.get() != main_common_sym.get());
-			main_common_sym->add_common_instance(symbol);
-		      }
-		  }
-		else
-		  {
-		    GElf_Addr symbol_value =
-			maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-								 sym);
-		    addr_elf_symbol_sptr_map_type::const_iterator it =
-		      var_addr_sym_map_->find(symbol_value);
-		    if (it == var_addr_sym_map_->end())
-		      (*var_addr_sym_map_)[symbol_value] = symbol;
-		    else
-		      it->second->get_main_symbol()->add_alias(symbol);
-		  }
-	      }
-	    else if (load_undefined_var_map && !symbol->is_defined())
-	      (*undefined_var_syms_)[symbol->get_name()].push_back(symbol);
-	  }
-      }
-    return true;
-  }
-
   /// Test if a given ELF symbol was suppressed by a suppression
   /// specification.
   ///
@@ -5558,71 +5128,6 @@ public:
 					       symbol->get_type()));
   }
 
-  /// Load the maps of function symbol address -> function symbol,
-  /// global variable symbol address -> variable symbol and also the
-  /// maps of function and variable undefined symbols.
-  ///
-  /// All these maps are loaded only if they are not loaded already.
-  ///
-  /// @return true iff everything went fine.
-  bool
-  load_symbol_maps()
-  {
-    bool load_fun_map = !fun_addr_sym_map_ ;
-    bool load_var_map = !var_addr_sym_map_;
-    bool load_undefined_fun_map = !undefined_fun_syms_;
-    bool load_undefined_var_map = !undefined_var_syms_;
-
-    if (!fun_syms_)
-      fun_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!fun_addr_sym_map_)
-      fun_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!fun_entry_addr_sym_map_ && architecture_is_ppc64(elf_handle()))
-      fun_entry_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!var_syms_)
-      var_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!var_addr_sym_map_)
-      var_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!undefined_fun_syms_)
-      undefined_fun_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!undefined_var_syms_)
-      undefined_var_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!options_.ignore_symbol_table)
-      {
-	if (load_symbol_maps_from_symtab_section(load_fun_map,
-						 load_var_map,
-						 load_undefined_fun_map,
-						 load_undefined_var_map))
-	    return true;
-	return false;
-      }
-    return true;
-  }
-
-  /// Load the symbol maps if necessary.
-  ///
-  /// @return true iff the symbol maps has been loaded by this
-  /// invocation.
-  bool
-  maybe_load_symbol_maps() const
-  {
-    if (!fun_addr_sym_map_
-	|| !var_addr_sym_map_
-	|| !fun_syms_
-	|| !var_syms_
-	|| !undefined_fun_syms_
-	|| !undefined_var_syms_)
-      return const_cast<read_context*>(this)->load_symbol_maps();
-    return false;
-  }
-
   /// Load the DT_NEEDED and DT_SONAME elf TAGS.
   ///
   void
@@ -6494,46 +5999,6 @@ void
 set_do_log(read_context& ctxt, bool f)
 {ctxt.do_log(f);}
 
-/// Setter of the "set_ignore_symbol_table" flag.
-///
-/// This flag tells if we should load information about ELF symbol
-/// tables.  Not loading the symbol tables is a speed optimization
-/// that is done when the set of symbols we care about is provided
-/// off-hand.  This is the case when we are supposed to analyze a
-/// Linux kernel binary.  In that case, because we have the white list
-/// of functions/variable symbols we care about, we don't need to
-/// analyze the symbol table; things are thus faster in that case.
-///
-/// By default, the symbol table is analyzed so this boolean is set to
-/// false.
-///
-/// @param ctxt the read context to consider.
-///
-/// @param f the new value of the flag.
-void
-set_ignore_symbol_table(read_context &ctxt, bool f)
-{ctxt.options_.ignore_symbol_table = f;}
-
-/// Getter of the "set_ignore_symbol_table" flag.
-///
-/// This flag tells if we should load information about ELF symbol
-/// tables.  Not loading the symbol tables is a speed optimization
-/// that is done when the set of symbols we care about is provided
-/// off-hand.  This is the case when we are supposed to analyze a
-/// Linux kernel binary.  In that case, because we have the white list
-/// of functions/variable symbols we care about, we don't need to
-/// analyze the symbol table; things are thus faster in that case.
-///
-/// By default, the symbol table is analyzed so this boolean is set to
-/// false.
-///
-/// @param ctxt the read context to consider.
-///
-/// @return the value of the flag.
-bool
-get_ignore_symbol_table(const read_context& ctxt)
-{return ctxt.options_.ignore_symbol_table;}
-
 /// Test if a given DIE is anonymous
 ///
 /// @param die the DIE to consider.
@@ -13483,33 +12948,6 @@ build_or_get_var_decl_if_not_suppressed(read_context&	ctxt,
   return var;
 }
 
-/// Create a variable symbol with a given name.
-///
-/// @param sym_name the name of the variable symbol.
-///
-/// @param env the environment to create the default symbol in.
-///
-/// @return the newly created symbol.
-static elf_symbol_sptr
-create_default_var_sym(const string& sym_name, const environment *env)
-{
-  elf_symbol::version ver;
-  elf_symbol::visibility vis = elf_symbol::DEFAULT_VISIBILITY;
-  elf_symbol_sptr result =
-    elf_symbol::create(env,
-		       /*symbol index=*/ 0,
-		       /*symbol size=*/ 0,
-		       sym_name,
-		       /*symbol type=*/ elf_symbol::OBJECT_TYPE,
-		       /*symbol binding=*/ elf_symbol::GLOBAL_BINDING,
-		       /*symbol is defined=*/ true,
-		       /*symbol is common=*/ false,
-		       /*symbol version=*/ ver,
-		       /*symbol_visibility=*/vis,
-		       /*is_linux_string_cst=*/false);
-  return result;
-}
-
 /// Build a @ref var_decl out of a DW_TAG_variable DIE.
 ///
 /// @param ctxt the read context to use.
@@ -13581,23 +13019,9 @@ build_var_decl(read_context&	ctxt,
   if (!result->get_symbol())
     {
       elf_symbol_sptr var_sym;
-      if (get_ignore_symbol_table(ctxt))
-	{
-	  string var_name =
-	    result->get_linkage_name().empty()
-	    ? result->get_name()
-	    : result->get_linkage_name();
-
-	  var_sym = create_default_var_sym(var_name, ctxt.env());
-	  ABG_ASSERT(var_sym);
-	  add_symbol_to_map(var_sym, ctxt.var_syms());
-	}
-      else
-	{
-	  Dwarf_Addr var_addr;
-	  if (ctxt.get_variable_address(die, var_addr))
-	    var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
-	}
+      Dwarf_Addr      var_addr;
+      if (ctxt.get_variable_address(die, var_addr))
+	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
 
       if (var_sym)
 	{
@@ -13658,15 +13082,9 @@ function_is_suppressed(const read_context& ctxt,
       Dwarf_Addr fn_addr;
       if (!ctxt.get_function_address(function_die, fn_addr))
 	return true;
-      if (!get_ignore_symbol_table(ctxt))
-	{
-	  // We were not instructed to ignore (avoid loading) the
-	  // symbol table, so we can rely on its presence to see if
-	  // the address corresponds to the address of an exported
-	  // function symbol.
-	  if (!ctxt.function_symbol_is_exported(fn_addr))
-	    return true;
-	}
+
+      if (!ctxt.function_symbol_is_exported(fn_addr))
+	return true;
     }
 
   return suppr::function_is_suppressed(ctxt, qualified_name,
@@ -13769,15 +13187,9 @@ variable_is_suppressed(const read_context& ctxt,
       Dwarf_Addr var_addr = 0;
       if (!ctxt.get_variable_address(variable_die, var_addr))
 	return true;
-      if (!get_ignore_symbol_table(ctxt))
-	{
-	  // We were not instructed to ignore (avoid loading) the
-	  // symbol table, so we can rely on its presence to see if
-	  // the address corresponds to the address of an exported
-	  // variable symbol.
-	  if (!ctxt.variable_symbol_is_exported(var_addr))
-	    return true;
-	}
+
+      if (!ctxt.variable_symbol_is_exported(var_addr))
+	return true;
     }
 
   return suppr::variable_is_suppressed(ctxt, qualified_name,
@@ -14028,23 +13440,9 @@ build_function_decl(read_context&	ctxt,
   if (!result->get_symbol())
     {
       elf_symbol_sptr fn_sym;
-      if (get_ignore_symbol_table(ctxt))
-	{
-	  string fn_name =
-	    result->get_linkage_name().empty()
-	    ? result->get_name()
-	    : result->get_linkage_name();
-
-	  fn_sym = create_default_fn_sym(fn_name, ctxt.env());
-	  ABG_ASSERT(fn_sym);
-	  add_symbol_to_map(fn_sym, ctxt.fun_syms());
-	}
-      else
-	{
-	  Dwarf_Addr fn_addr;
-	  if (ctxt.get_function_address(die, fn_addr))
-	    fn_sym = ctxt.function_symbol_is_exported(fn_addr);
-	}
+      Dwarf_Addr      fn_addr;
+      if (ctxt.get_function_address(die, fn_addr))
+	fn_sym = ctxt.function_symbol_is_exported(fn_addr);
 
       if (fn_sym)
 	{
@@ -14074,29 +13472,6 @@ build_function_decl(read_context&	ctxt,
   return result;
 }
 
-/// Add a symbol to a symbol map.
-///
-/// @param sym the symbol to add.
-///
-/// @param map the symbol map to add the symbol into.
-static void
-add_symbol_to_map(const elf_symbol_sptr& sym,
-		  string_elf_symbols_map_type& map)
-{
-  if (!sym)
-    return;
-
-  string_elf_symbols_map_type::iterator it = map.find(sym->get_name());
-  if (it == map.end())
-    {
-      elf_symbols syms;
-      syms.push_back(sym);
-      map[sym->get_name()] = syms;
-    }
-  else
-    it->second.push_back(sym);
-}
-
 /// Read all @ref abigail::translation_unit possible from the debug info
 /// accessible through a DWARF Front End Library handle, and stuff
 /// them into a libabigail ABI Corpus.
@@ -15341,13 +14716,6 @@ read_corpus_from_elf(read_context& ctxt, status& status)
 
   ctxt.load_elf_properties();  // DT_SONAME, DT_NEEDED, architecture
 
-  if (!get_ignore_symbol_table(ctxt))
-    {
-      // Read the symbols for publicly defined decls
-      if (!ctxt.load_symbol_maps())
-	status |= STATUS_NO_SYMBOLS_FOUND;
-    }
-
   if (!ctxt.symtab() || !ctxt.symtab()->has_symbols())
     status |= STATUS_NO_SYMBOLS_FOUND;
 
diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc
index dfbec879de8d..9116a97a62e9 100644
--- a/src/abg-tools-utils.cc
+++ b/src/abg-tools-utils.cc
@@ -2563,12 +2563,6 @@ build_corpus_group_from_kernel_dist_under(const string&	root,
 		      << t
 		      << "\n";
 
-	  // If we have been given a whitelist of functions and
-	  // variable symbols to look at, then we can avoid loading
-	  // and analyzing the ELF symbol table.
-	  bool do_ignore_symbol_table = !kabi_wl_paths.empty();
-	  set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
-
 	  group.reset(new corpus_group(env.get(), root));
 
 	  set_read_context_corpus_group(*ctxt, group);
@@ -2608,13 +2602,6 @@ build_corpus_group_from_kernel_dist_under(const string&	root,
 				 /*read_all_types=*/false,
 				 /*linux_kernel_mode=*/true);
 
-	      // If we have been given a whitelist of functions and
-	      // variable symbols to look at, then we can avoid loading
-	      // and analyzing the ELF symbol table.
-	      bool do_ignore_symbol_table = !kabi_wl_paths.empty();
-
-	      set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
-
 	      load_generate_apply_suppressions(*ctxt, suppr_paths,
 					       kabi_wl_paths, supprs);
 
diff --git a/tools/abidw.cc b/tools/abidw.cc
index 2cd848df9fb8..58072e7072c4 100644
--- a/tools/abidw.cc
+++ b/tools/abidw.cc
@@ -828,8 +828,6 @@ main(int argc, char* argv[])
       set_show_stats(ctxt, opts.show_stats);
       set_suppressions(ctxt, opts);
       abigail::dwarf_reader::set_do_log(ctxt, opts.do_log);
-      if (!opts.kabi_whitelist_supprs.empty())
-	set_ignore_symbol_table(ctxt, true);
 
       if (opts.check_alt_debug_info_path)
 	{
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH v1 04/16] abg-ir: elf_symbol: add is_suppressed field
  2020-06-19 21:42 ` [PATCH v1 04/16] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
@ 2020-06-22  9:46   ` Giuliano Procida
  0 siblings, 0 replies; 91+ messages in thread
From: Giuliano Procida @ 2020-06-22  9:46 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, Dodji Seketeli, kernel-team

Hi.

On Fri, 19 Jun 2020 at 22:43, Matthias Maennich <maennich@google.com> wrote:
>
> In the context of libabigail and a single library run (when reading from
> dwarf or from xml), a symbol is either suppressed or it is not. While
> one could argue that this is a property of the read_context, the
> read_context might not be around anymore when the symbol still is.
> Hence, persist the 'is_suppressed' state along with the symbol itself.
>
>         * include/abg-ir.h (elf_symbol::elf_symbol): Add is_suppressed
>         parameter.
>         (elf_symbol::create): Likewise.
>         (elf_symbol::is_suppressed): New getter declaration.
>         (elf_symbol::set_is_suppressed): New setter declaration.
>         * src/abg-ir.cc (elf_symbol::priv::priv): Add is_suppressed
>         parameter.
>         (elf_symbol::priv::is_suppressed_): New field.
>         (elf_symbol::elf_symbol): Add is_suppressed parameter.
>         (elf_symbol::create): Likewise.
>         (elf_symbol::is_suppressed): New getter implementation.
>         (elf_symbol::set_is_suppressed): New setter implementation.
>

Reviewed-by: Giuliano Procida <gprocida@google.com>

> Signed-off-by: Matthias Maennich <maennich@google.com>
> ---
>  include/abg-ir.h | 12 ++++++++++--
>  src/abg-ir.cc    | 29 ++++++++++++++++++++++-------
>  2 files changed, 32 insertions(+), 9 deletions(-)
>
> diff --git a/include/abg-ir.h b/include/abg-ir.h
> index 5766385c8b73..838d3f80695a 100644
> --- a/include/abg-ir.h
> +++ b/include/abg-ir.h
> @@ -853,7 +853,8 @@ private:
>              const version&     ve,
>              visibility         vi,
>              bool               is_linux_string_cst = false,
> -            bool               is_in_ksymtab = false);
> +            bool               is_in_ksymtab = false,
> +            bool               is_suppressed = false);
>
>    elf_symbol(const elf_symbol&);
>
> @@ -877,7 +878,8 @@ public:
>          const version&     ve,
>          visibility         vi,
>          bool               is_linux_string_cst = false,
> -        bool               is_in_ksymtab = false);
> +        bool               is_in_ksymtab = false,
> +        bool               is_suppressed = false);
>
>    const environment*
>    get_environment() const;
> @@ -951,6 +953,12 @@ public:
>    void
>    set_is_in_ksymtab(bool is_in_ksymtab);
>
> +  bool
> +  is_suppressed() const;
> +
> +  void
> +  set_is_suppressed(bool is_suppressed);
> +
>    const elf_symbol_sptr
>    get_main_symbol() const;
>
> diff --git a/src/abg-ir.cc b/src/abg-ir.cc
> index 44021132b04d..44529c6617b0 100644
> --- a/src/abg-ir.cc
> +++ b/src/abg-ir.cc
> @@ -1301,6 +1301,7 @@ struct elf_symbol::priv
>    bool                 is_common_;
>    bool                 is_linux_string_cst_;
>    bool                 is_in_ksymtab_;
> +  bool                 is_suppressed_;
>    elf_symbol_wptr      main_symbol_;
>    elf_symbol_wptr      next_alias_;
>    elf_symbol_wptr      next_common_instance_;
> @@ -1316,7 +1317,8 @@ struct elf_symbol::priv
>        is_defined_(false),
>        is_common_(false),
>        is_linux_string_cst_(false),
> -      is_in_ksymtab_(false)
> +      is_in_ksymtab_(false),
> +      is_suppressed_(false)
>    {}
>
>    priv(const environment*        e,
> @@ -1330,7 +1332,8 @@ struct elf_symbol::priv
>         const elf_symbol::version& ve,
>         elf_symbol::visibility    vi,
>         bool                      is_linux_string_cst,
> -       bool                      is_in_ksymtab)
> +       bool                      is_in_ksymtab,
> +       bool                      is_suppressed)
>      : env_(e),
>        index_(i),
>        size_(s),
> @@ -1342,7 +1345,8 @@ struct elf_symbol::priv
>        is_defined_(d),
>        is_common_(c),
>        is_linux_string_cst_(is_linux_string_cst),
> -      is_in_ksymtab_(is_in_ksymtab)
> +      is_in_ksymtab_(is_in_ksymtab),
> +      is_suppressed_(is_suppressed)
>    {
>      if (!is_common_)
>        is_common_ = type_ == COMMON_TYPE;
> @@ -1399,7 +1403,8 @@ elf_symbol::elf_symbol(const environment* e,
>                        const version&     ve,
>                        visibility         vi,
>                        bool               is_linux_string_cst,
> -                      bool               is_in_ksymtab)
> +                      bool               is_in_ksymtab,
> +                      bool               is_suppressed)
>    : priv_(new priv(e,
>                    i,
>                    s,
> @@ -1411,7 +1416,8 @@ elf_symbol::elf_symbol(const environment* e,
>                    ve,
>                    vi,
>                    is_linux_string_cst,
> -                  is_in_ksymtab))
> +                  is_in_ksymtab,
> +                  is_suppressed))
>  {}
>
>  /// Factory of instances of @ref elf_symbol.
> @@ -1469,11 +1475,12 @@ elf_symbol::create(const environment* e,
>                    const version&     ve,
>                    visibility         vi,
>                    bool               is_linux_string_cst,
> -                  bool               is_in_ksymtab)
> +                  bool               is_in_ksymtab,
> +                  bool               is_suppressed)
>  {
>    elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
>                                      is_linux_string_cst,
> -                                    is_in_ksymtab));
> +                                    is_in_ksymtab, is_suppressed));
>    sym->priv_->main_symbol_ = sym;
>    return sym;
>  }
> @@ -1701,6 +1708,14 @@ void
>  elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
>  {priv_->is_in_ksymtab_ = is_in_ksymtab;}
>
> +bool
> +elf_symbol::is_suppressed() const
> +{return priv_->is_suppressed_;}
> +
> +void
> +elf_symbol::set_is_suppressed(bool is_suppressed)
> +{priv_->is_suppressed_ = is_suppressed;}
> +
>  /// @name Elf symbol aliases
>  ///
>  /// An alias A for an elf symbol S is a symbol that is defined at the
> --
> 2.27.0.111.gc72c7da667-goog
>

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH v1 08/16] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  2020-06-19 21:42 ` [PATCH v1 08/16] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
@ 2020-06-22  9:53   ` Giuliano Procida
  0 siblings, 0 replies; 91+ messages in thread
From: Giuliano Procida @ 2020-06-22  9:53 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, Dodji Seketeli, kernel-team

Hi.

On Fri, 19 Jun 2020 at 22:43, Matthias Maennich <maennich@google.com> wrote:
>
> Make the corresponding members an implementation detail of corpus::priv.
> They get computed based on the new symtab whenever they are accessed
> first with an atomic instantiation. That simplifies the implementation
> and homogenizes the access to functions and variables. Sorting does not
> need to be done as the symtab already gives a guarantee for that.
>
> Due to improved alias detection in the new symtab reader, ensure we only
> write symbol aliases to ksymtab symbols if having a ksymtab main symbol.
>
> Test data needed to be adjusted as the new symtab reader is stricter in
> regards to symbols listed in ksymtab. I.e. init_module is not an
> exported symbol in the ksymtab of a kernel module.
>
>         * src/abg-corpus-priv.h (corpus::priv::sorted_var_symbols): make
>           private, mutable and optional.
>           (corpus::sorted_undefined_var_symbols): Likewise.
>           (corpus::sorted_fun_symbols): Likewise.
>           (corpus::sorted_undefined_fun_symbols): Likewise.
>           (corpus::priv::get_sorted_fun_symbols): New method declaration.
>           (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
>           (corpus::priv::get_sorted_var_symbols): Likewise.
>           (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
>         * src/abg-corpus.cc
>           (corpus::elf_symbol_comp_functor): Delete struct.
>           (corpus::priv::get_sorted_fun_symbols): New method implementation.
>           (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
>           (corpus::priv::get_sorted_var_symbols): Likewise.
>           (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
>           (corpus::get_sorted_fun_symbols): Proxy call to corpus::priv.
>           (corpus::get_sorted_undefined_fun_symbols): Likewise.
>           (corpus::get_sorted_var_symbols): Likewise.
>           (corpus::get_sorted_undefined_var_symbols): Likewise.
>         * src/abg-writer.cc (write_elf_symbol_aliases): When emitting
>           aliases for a kernel symbol, ensure to only emit exported aliases.
>         * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: update test
>           data.
>

Reviewed-by: Giuliano Procida <gprocida@google.com>

> Signed-off-by: Matthias Maennich <maennich@google.com>
> ---
>  src/abg-corpus-priv.h                         |  21 +-
>  src/abg-corpus.cc                             | 242 +++++++-----------
>  src/abg-writer.cc                             |  38 ++-
>  .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   3 -
>  4 files changed, 135 insertions(+), 169 deletions(-)
>
> diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
> index 5c1e915ad2f3..ad96f260aa89 100644
> --- a/src/abg-corpus-priv.h
> +++ b/src/abg-corpus-priv.h
> @@ -699,13 +699,9 @@ struct corpus::priv
>    vector<var_decl*>                            vars;
>    string_elf_symbols_map_sptr                  var_symbol_map;
>    string_elf_symbols_map_sptr                  undefined_var_symbol_map;
> -  elf_symbols                                  sorted_var_symbols;
> -  elf_symbols                                  sorted_undefined_var_symbols;
>    symtab_reader::symtab_sptr                   symtab_;
>    string_elf_symbols_map_sptr                  fun_symbol_map;
>    string_elf_symbols_map_sptr                  undefined_fun_symbol_map;
> -  elf_symbols                                  sorted_fun_symbols;
> -  elf_symbols                                  sorted_undefined_fun_symbols;
>    elf_symbols                                  unrefed_fun_symbols;
>    elf_symbols                                  unrefed_var_symbols;
>    // The type maps contained in this data member are populated if the
> @@ -727,6 +723,11 @@ struct corpus::priv
>  private:
>    priv();
>
> +  mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
> +  mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
> +  mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
> +  mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
> +
>  public:
>    priv(const string &  p,
>         environment*    e)
> @@ -746,6 +747,18 @@ public:
>    const type_maps&
>    get_types() const;
>
> +  const elf_symbols&
> +  get_sorted_fun_symbols() const;
> +
> +  const elf_symbols&
> +  get_sorted_undefined_fun_symbols() const;
> +
> +  const elf_symbols&
> +  get_sorted_var_symbols() const;
> +
> +  const elf_symbols&
> +  get_sorted_undefined_var_symbols() const;
> +
>    unordered_set<interned_string, hash_interned_string>*
>    get_public_types_pretty_representations();
>
> diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
> index 94702047dd82..6d4bedfd57b7 100644
> --- a/src/abg-corpus.cc
> +++ b/src/abg-corpus.cc
> @@ -453,6 +453,88 @@ const type_maps&
>  corpus::priv::get_types() const
>  {return types_;}
>
> +/// Return a sorted vector of function symbols for this corpus.
> +///
> +/// Note that the first time this function is called, the symbols are
> +/// sorted and cached.  Subsequent invocations of this function return
> +/// the cached vector that was built previously.
> +///
> +/// @return the sorted list of function symbols.
> +const elf_symbols&
> +corpus::priv::get_sorted_fun_symbols() const
> +{
> +  if (!sorted_fun_symbols)
> +    {
> +      const symtab_reader::symtab_filter filter =
> +         symtab_->make_filter().functions();
> +
> +      sorted_fun_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
> +    }
> +  return *sorted_fun_symbols;
> +}
> +
> +/// Getter for a sorted vector of the function symbols undefined in
> +/// this corpus.
> +///
> +/// @return a vector of the function symbols undefined in this corpus,
> +/// sorted by name and then version.
> +const elf_symbols&
> +corpus::priv::get_sorted_undefined_fun_symbols() const
> +{
> +  if (!sorted_undefined_fun_symbols)
> +    {
> +      const symtab_reader::symtab_filter filter = symtab_->make_filter()
> +                                                     .functions()
> +                                                     .undefined_symbols()
> +                                                     .public_symbols(false);
> +
> +      sorted_undefined_fun_symbols =
> +         elf_symbols(symtab_->begin(filter), symtab_->end());
> +    }
> +  return *sorted_undefined_fun_symbols;
> +}
> +
> +/// Getter for the sorted vector of variable symbols for this corpus.
> +///
> +/// Note that the first time this function is called, it computes the
> +/// sorted vector, caches the result and returns it.  Subsequent
> +/// invocations of this function just return the cached vector.
> +///
> +/// @return the sorted vector of variable symbols for this corpus.
> +const elf_symbols&
> +corpus::priv::get_sorted_var_symbols() const
> +{
> +  if (!sorted_var_symbols)
> +    {
> +      const symtab_reader::symtab_filter filter =
> +         symtab_->make_filter().variables();
> +
> +      sorted_var_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
> +    }
> +  return *sorted_var_symbols;
> +}
> +
> +/// Getter for a sorted vector of the variable symbols undefined in
> +/// this corpus.
> +///
> +/// @return a vector of the variable symbols undefined in this corpus,
> +/// sorted by name and then version.
> +const elf_symbols&
> +corpus::priv::get_sorted_undefined_var_symbols() const
> +{
> +  if (!sorted_undefined_var_symbols)
> +    {
> +      const symtab_reader::symtab_filter filter = symtab_->make_filter()
> +                                                     .variables()
> +                                                     .undefined_symbols()
> +                                                     .public_symbols(false);
> +
> +      sorted_undefined_var_symbols =
> +         elf_symbols(symtab_->begin(filter), symtab_->end());
> +    }
> +  return *sorted_undefined_var_symbols;
> +}
> +
>  /// Getter of the set of pretty representation of types that are
>  /// reachable from public interfaces (global functions and variables).
>  ///
> @@ -988,104 +1070,21 @@ const string_elf_symbols_map_type&
>  corpus::get_undefined_fun_symbol_map() const
>  {return *get_undefined_fun_symbol_map_sptr();}
>
> -/// Functor to sort instances of @ref elf_symbol.
> -struct elf_symbol_comp_functor
> -{
> -
> -  /// Return true if the first argument is less than the second one.
> -  ///
> -  /// @param l the first parameter to consider.
> -  ///
> -  /// @param r the second parameter to consider.
> -  ///
> -  /// @return true if @p l is less than @p r
> -  bool
> -  operator()(elf_symbol& l, elf_symbol& r)
> -  {return (l.get_id_string() < r.get_id_string());}
> -
> -  /// Return true if the first argument is less than the second one.
> -  ///
> -  /// @param l the first parameter to consider.
> -  ///
> -  /// @param r the second parameter to consider.
> -  ///
> -  /// @return true if @p l is less than @p r
> -  bool
> -  operator()(elf_symbol* l, elf_symbol* r)
> -  {return operator()(*l, *r);}
> -
> -  /// Return true if the first argument is less than the second one.
> -  ///
> -  /// @param l the first parameter to consider.
> -  ///
> -  /// @param r the second parameter to consider.
> -  ///
> -  /// @return true if @p l is less than @p r
> -  bool
> -  operator()(elf_symbol_sptr l, elf_symbol_sptr r)
> -  {return operator()(*l, *r);}
> -}; // end struct elf_symbol_comp_functor
> -
> -/// Return a sorted vector of function symbols for this corpus.
> -///
> -/// Note that the first time this function is called, the symbols are
> -/// sorted and cached.  Subsequent invocations of this function return
> -/// the cached vector that was built previously.
> -///
> -/// @return the sorted list of function symbols.
>  const elf_symbols&
>  corpus::get_sorted_fun_symbols() const
> -{
> -  if (priv_->sorted_fun_symbols.empty()
> -      && !get_fun_symbol_map().empty())
> -    {
> -      priv_->sorted_fun_symbols.reserve(get_fun_symbol_map().size());
> -      for (string_elf_symbols_map_type::const_iterator i =
> -            get_fun_symbol_map().begin();
> -          i != get_fun_symbol_map().end();
> -          ++i)
> -       for (elf_symbols::const_iterator s = i->second.begin();
> -            s != i->second.end();
> -            ++s)
> -         priv_->sorted_fun_symbols.push_back(*s);
> +{ return priv_->get_sorted_fun_symbols(); }
>
> -      elf_symbol_comp_functor comp;
> -      std::sort(priv_->sorted_fun_symbols.begin(),
> -               priv_->sorted_fun_symbols.end(),
> -               comp);
> -    }
> -  return priv_->sorted_fun_symbols;
> -}
> -
> -/// Getter for a sorted vector of the function symbols undefined in
> -/// this corpus.
> -///
> -/// @return a vector of the function symbols undefined in this corpus,
> -/// sorted by name and then version.
>  const elf_symbols&
>  corpus::get_sorted_undefined_fun_symbols() const
> -{
> -  if (priv_->sorted_undefined_fun_symbols.empty()
> -      && !get_undefined_fun_symbol_map().empty())
> -    {
> -      priv_->sorted_undefined_fun_symbols.reserve
> -       (get_undefined_fun_symbol_map().size());
> -      for (string_elf_symbols_map_type::const_iterator i =
> -            get_undefined_fun_symbol_map().begin();
> -          i != get_undefined_fun_symbol_map().end();
> -          ++i)
> -       for (elf_symbols::const_iterator s = i->second.begin();
> -            s != i->second.end();
> -            ++s)
> -         priv_->sorted_undefined_fun_symbols.push_back(*s);
> +{ return priv_->get_sorted_undefined_fun_symbols(); }
>
> -      elf_symbol_comp_functor comp;
> -      std::sort(priv_->sorted_undefined_fun_symbols.begin(),
> -               priv_->sorted_undefined_fun_symbols.end(),
> -               comp);
> -    }
> -  return priv_->sorted_undefined_fun_symbols;
> -}
> +const elf_symbols&
> +corpus::get_sorted_var_symbols() const
> +{ return priv_->get_sorted_var_symbols(); }
> +
> +const elf_symbols&
> +corpus::get_sorted_undefined_var_symbols() const
> +{ return priv_->get_sorted_undefined_var_symbols(); }
>
>  /// Getter for the variable symbols map.
>  ///
> @@ -1125,65 +1124,6 @@ const string_elf_symbols_map_type&
>  corpus::get_undefined_var_symbol_map() const
>  {return *get_undefined_var_symbol_map_sptr();}
>
> -/// Getter for the sorted vector of variable symbols for this corpus.
> -///
> -/// Note that the first time this function is called, it computes the
> -/// sorted vector, caches the result and returns it.  Subsequent
> -/// invocations of this function just return the cached vector.
> -///
> -/// @return the sorted vector of variable symbols for this corpus.
> -const elf_symbols&
> -corpus::get_sorted_var_symbols() const
> -{
> -  if (priv_->sorted_var_symbols.empty()
> -      && !get_var_symbol_map().empty())
> -    {
> -      priv_->sorted_var_symbols.reserve(get_var_symbol_map().size());
> -      for (string_elf_symbols_map_type::const_iterator i =
> -            get_var_symbol_map().begin();
> -          i != get_var_symbol_map().end();
> -          ++i)
> -       for (elf_symbols::const_iterator s = i->second.begin();
> -            s != i->second.end(); ++s)
> -         priv_->sorted_var_symbols.push_back(*s);
> -
> -      elf_symbol_comp_functor comp;
> -      std::sort(priv_->sorted_var_symbols.begin(),
> -               priv_->sorted_var_symbols.end(),
> -               comp);
> -    }
> -  return priv_->sorted_var_symbols;
> -}
> -
> -/// Getter for a sorted vector of the variable symbols undefined in
> -/// this corpus.
> -///
> -/// @return a vector of the variable symbols undefined in this corpus,
> -/// sorted by name and then version.
> -const elf_symbols&
> -corpus::get_sorted_undefined_var_symbols() const
> -{
> -  if (priv_->sorted_undefined_var_symbols.empty()
> -      && !get_undefined_var_symbol_map().empty())
> -    {
> -      priv_->sorted_undefined_var_symbols.reserve
> -       (get_undefined_var_symbol_map().size());
> -      for (string_elf_symbols_map_type::const_iterator i =
> -            get_undefined_var_symbol_map().begin();
> -          i != get_undefined_var_symbol_map().end();
> -          ++i)
> -       for (elf_symbols::const_iterator s = i->second.begin();
> -            s != i->second.end(); ++s)
> -         priv_->sorted_undefined_var_symbols.push_back(*s);
> -
> -      elf_symbol_comp_functor comp;
> -      std::sort(priv_->sorted_undefined_var_symbols.begin(),
> -               priv_->sorted_undefined_var_symbols.end(),
> -               comp);
> -    }
> -  return priv_->sorted_undefined_var_symbols;
> -}
> -
>  /// Look in the function symbols map for a symbol with a given name.
>  ///
>  /// @param n the name of the symbol to look for.
> diff --git a/src/abg-writer.cc b/src/abg-writer.cc
> index ce0bae2d5cfd..c5be11b26072 100644
> --- a/src/abg-writer.cc
> +++ b/src/abg-writer.cc
> @@ -1693,26 +1693,42 @@ write_elf_symbol_visibility(elf_symbol::visibility v, ostream& o)
>  ///
>  /// @return true upon successful completion.
>  static bool
> -write_elf_symbol_aliases(const elf_symbol& sym, ostream& o)
> +write_elf_symbol_aliases(const elf_symbol& sym, ostream& out)
>  {
>    if (!sym.is_main_symbol() || !sym.has_aliases())
>      return false;
>
> -  bool emitted = false;
> -  o << " alias='";
> -  for (elf_symbol_sptr s = sym.get_next_alias();
> -       !s->is_main_symbol();
> +
> +  std::vector<std::string> aliases;
> +  for (elf_symbol_sptr s = sym.get_next_alias(); s && !s->is_main_symbol();
>         s = s->get_next_alias())
>      {
> -      if (s->get_next_alias()->is_main_symbol())
> -       o << s->get_id_string() << "'";
> -      else
> -       o << s->get_id_string() << ",";
> +      if (s->is_suppressed())
> +       continue;
>
> -      emitted = true;
> +      if (sym.is_in_ksymtab() != s->is_in_ksymtab())
> +       continue;
> +
> +      aliases.push_back(s->get_id_string());
>      }
>
> -  return emitted;
> +  if (!aliases.empty())
> +    {
> +      out << " alias='";
> +      std::string separator;
> +      for (std::vector<std::string>::const_iterator it = aliases.begin(),
> +                                                   end = aliases.end();
> +          it != end; ++it)
> +       {
if (it != aliases.begin()) // you can put begin in a variable as well,
if you like, but it's all compiled away anyway
  out << ',';
> +         out << separator << *it;
> +         separator = ",";
> +       }
> +
> +      out << "'";
> +      return true;
> +    }
> +
> +  return false;
>  }
>
>  /// Write an XML attribute for the reference to a symbol for the
> diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
> index 755ea6dc433e..d5af7183095f 100644
> --- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
> +++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
> @@ -2,8 +2,6 @@
>    <elf-function-symbols>
>      <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
>      <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
> -    <elf-symbol name='cleanup_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
> -    <elf-symbol name='init_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
>      <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
>      <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
>      <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
> @@ -40,7 +38,6 @@
>      <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
>    </elf-function-symbols>
>    <elf-variable-symbols>
> -    <elf-symbol name='__this_module' size='896' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
>    </elf-variable-symbols>
>    <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
>
> --
> 2.27.0.111.gc72c7da667-goog
>

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH v1 16/16] dwarf reader: drop (now) unused code related symbol table reading
  2020-06-19 21:43 ` [PATCH v1 16/16] dwarf reader: drop (now) unused code related symbol table reading Matthias Maennich
@ 2020-06-22  9:56   ` Giuliano Procida
  0 siblings, 0 replies; 91+ messages in thread
From: Giuliano Procida @ 2020-06-22  9:56 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, Dodji Seketeli, kernel-team

Hi.

On Fri, 19 Jun 2020 at 22:43, Matthias Maennich <maennich@google.com> wrote:
>
> The introduction of the new symtab reader incorporated much of the
> existing functionality. Now that the most code parts are migrated to the
> new symtab reader, we can safely remove the old code paths.
>
> Ignoring the symbol table is not a thing anymore. The new symtab reader
> does read the symtab unconditionally for consistency reasons. Hence also
> remove all functionality around conditional symtab reading.
>
>         * include/abg-dwarf-reader.h (set_ignore_symbol_table): Remove.
>         (get_ignore_symbol_table): Likewise.
>         * src/abg-dwarf-reader.cc (add_symbol_to_map): Likewise.
>         (read_context::options_type::ignore_symbol_table): Likewise.
>         (read_context::options_type): Adjust.
>         (read_context::fun_addr_sym_map_): Remove.
>         (read_context::fun_entry_addr_sym_map_): Likewise.
>         (read_context::fun_syms_): Likewise.
>         (read_context::var_addr_sym_map_): Likewise.
>         (read_context::var_syms_): Likewise.
>         (read_context::undefined_fun_syms_): Likewise.
>         (read_context::undefined_var_syms_): Likewise.
>         (read_context::initialize): Adjust.
>         (read_context::lookup_elf_symbol_from_index): Remove.
>         (read_context::fun_entry_addr_sym_map_sptr): Likewise.
>         (read_context::fun_entry_addr_sym_map): Likewise.
>         (read_context::fun_syms_sptr): Likewise.
>         (read_context::fun_syms): Likewise.
>         (read_context::var_syms_sptr): Likewise.
>         (read_context::var_syms): Likewise.
>         (read_context::undefined_fun_syms_sptr): Likewise.
>         (read_context::undefined_var_syms_sptr): Likewise.
>         (read_context::load_symbol_maps_from_symtab_section): Likewise.
>         (read_context::load_symbol_maps): Likewise.
>         (read_context::maybe_load_symbol_maps): Likewise.
>         (set_ignore_symbol_table): Likewise.
>         (get_ignore_symbol_table): Likewise.
>         (create_default_var_sym): Likewise.
>         (build_var_decl): Adjust.
>         (function_is_suppressed): Likewise.
>         (variable_is_suppressed): Likewise.
>         (build_function_decl): Likewise.
>         (add_symbol_to_map): Remove.
>         (read_corpus_from_elf): Adjust.
>         (build_corpus_group_from_kernel_dist_under): Likewise.
>         * tools/abidw.cc (main): Likewise.
>

Reviewed-by: Giuliano Procida <gprocida@google.com>

> Signed-off-by: Matthias Maennich <maennich@google.com>
> ---
>  include/abg-dwarf-reader.h |   6 -
>  src/abg-dwarf-reader.cc    | 656 +------------------------------------
>  src/abg-tools-utils.cc     |  13 -
>  tools/abidw.cc             |   2 -
>  4 files changed, 12 insertions(+), 665 deletions(-)
>
> diff --git a/include/abg-dwarf-reader.h b/include/abg-dwarf-reader.h
> index d0329aed9ccf..3f062e04502d 100644
> --- a/include/abg-dwarf-reader.h
> +++ b/include/abg-dwarf-reader.h
> @@ -195,12 +195,6 @@ set_drop_undefined_syms(read_context& ctxt,
>  void
>  set_do_log(read_context& ctxt, bool f);
>
> -void
> -set_ignore_symbol_table(read_context &ctxt, bool f);
> -
> -bool
> -get_ignore_symbol_table(const read_context &ctxt);
> -
>  void
>  set_environment(read_context& ctxt,
>                 ir::environment*);
> diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
> index 2b978c239243..b69fcc79cfd6 100644
> --- a/src/abg-dwarf-reader.cc
> +++ b/src/abg-dwarf-reader.cc
> @@ -291,10 +291,6 @@ static bool
>  operator<(const imported_unit_point& l, const imported_unit_point& r)
>  {return l.offset_of_import < r.offset_of_import;}
>
> -static void
> -add_symbol_to_map(const elf_symbol_sptr& sym,
> -                 string_elf_symbols_map_type& map);
> -
>  static bool
>  get_parent_die(const read_context&     ctxt,
>                const Dwarf_Die* die,
> @@ -2026,7 +2022,6 @@ public:
>      environment*       env;
>      bool               load_in_linux_kernel_mode;
>      bool               load_all_types;
> -    bool               ignore_symbol_table;
>      bool               show_stats;
>      bool               do_log;
>
> @@ -2034,7 +2029,6 @@ public:
>        : env(),
>         load_in_linux_kernel_mode(),
>         load_all_types(),
> -       ignore_symbol_table(),
>         show_stats(),
>         do_log()
>      {}
> @@ -2230,19 +2224,6 @@ public:
>    offset_offset_map_type       alternate_die_parent_map_;
>    offset_offset_map_type       type_section_die_parent_map_;
>    list<var_decl_sptr>          var_decls_to_add_;
> -  addr_elf_symbol_sptr_map_sptr fun_addr_sym_map_;
> -  // On PPC64, the function entry point address is different from the
> -  // GElf_Sym::st_value value, which is the address of the descriptor
> -  // of the function.  The map below thus associates the address of
> -  // the entry point to the function symbol.  If we are not on ppc64,
> -  // then this map ought to be empty.  Only the fun_addr_sym_map_ is
> -  // used in that case.  On ppc64, though, both maps are used.
> -  addr_elf_symbol_sptr_map_sptr fun_entry_addr_sym_map_;
> -  string_elf_symbols_map_sptr  fun_syms_;
> -  addr_elf_symbol_sptr_map_sptr var_addr_sym_map_;
> -  string_elf_symbols_map_sptr  var_syms_;
> -  string_elf_symbols_map_sptr  undefined_fun_syms_;
> -  string_elf_symbols_map_sptr  undefined_var_syms_;
>    vector<string>               dt_needed_;
>    string                       dt_soname_;
>    string                       elf_architecture_;
> @@ -2378,13 +2359,6 @@ public:
>      alternate_die_parent_map_.clear();
>      type_section_die_parent_map_.clear();
>      var_decls_to_add_.clear();
> -    fun_addr_sym_map_.reset();
> -    fun_entry_addr_sym_map_.reset();
> -    fun_syms_.reset();
> -    var_addr_sym_map_.reset();
> -    var_syms_.reset();
> -    undefined_fun_syms_.reset();
> -    undefined_var_syms_.reset();
>      dt_needed_.clear();
>      dt_soname_.clear();
>      elf_architecture_.clear();
> @@ -5044,88 +5018,6 @@ public:
>      return true;
>    }
>
> -  /// Given the index of a symbol into the symbol table of an ELF
> -  /// file, look the symbol up, build an instace of @ref elf_symbol
> -  /// and return it.
> -  ///
> -  /// @param symbol_index the index of the symbol into the symbol
> -  /// table of the current elf file.
> -  ///
> -  /// @return the elf symbol found or nil if none was found.
> -  elf_symbol_sptr
> -  lookup_elf_symbol_from_index(size_t symbol_index)
> -  {
> -    GElf_Sym s;
> -    elf_symbol_sptr result =
> -      lookup_elf_symbol_from_index(symbol_index, s);
> -    return result;
> -  }
> -
> -  /// Lookup an ELF symbol given its index into the .symtab section.
> -  ///
> -  /// This function returns both the native symbol (from libelf) and
> -  /// the @p abigail::ir::elf_symbol instance, which is the
> -  /// libabigail-specific representation of the symbol.
> -  ///
> -  /// @param symbol_index the index of the symbol to look for.
> -  ///
> -  /// @param native_sym output parameter.  This is set to the native
> -  /// ELF symbol found iff the function returns a non-nil value.
> -  ///
> -  /// @return an instance of libabigail::ir::elf_symbol representing
> -  /// the ELF symbol found, iff one was found.  Otherwise, returns
> -  /// nil.
> -  elf_symbol_sptr
> -  lookup_elf_symbol_from_index(size_t symbol_index,
> -                              GElf_Sym &native_sym)
> -  {
> -    if (!lookup_native_elf_symbol_from_index(symbol_index, native_sym))
> -      return elf_symbol_sptr();
> -
> -    Elf_Scn* symtab_section = find_symbol_table_section();
> -    if (!symtab_section)
> -      return elf_symbol_sptr();
> -
> -    GElf_Shdr header_mem;
> -    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
> -                                            &header_mem);
> -
> -    Elf_Data* symtab = elf_getdata(symtab_section, 0);
> -    ABG_ASSERT(symtab);
> -
> -    bool sym_is_defined = native_sym.st_shndx != SHN_UNDEF;
> -    bool sym_is_common = native_sym.st_shndx == SHN_COMMON; // this occurs in
> -                                                           // relocatable
> -                                                           // files.
> -    const char* name_str = elf_strptr(elf_handle(),
> -                                     symtab_sheader->sh_link,
> -                                     native_sym.st_name);
> -    if (name_str == 0)
> -      name_str = "";
> -
> -    elf_symbol::version ver;
> -    elf_helpers::get_version_for_symbol(elf_handle(), symbol_index,
> -                                       sym_is_defined, ver);
> -
> -    elf_symbol::visibility vis =
> -      stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(native_sym.st_other));
> -
> -    Elf_Scn* strings_section = find_ksymtab_strings_section(elf_handle());
> -    size_t strings_ndx = strings_section
> -      ? elf_ndxscn(strings_section)
> -      : 0;
> -
> -    elf_symbol_sptr sym =
> -      elf_symbol::create(env(), symbol_index, native_sym.st_size,
> -                        name_str, stt_to_elf_symbol_type
> -                        (GELF_ST_TYPE(native_sym.st_info)),
> -                        stb_to_elf_symbol_binding
> -                        (GELF_ST_BIND(native_sym.st_info)),
> -                        sym_is_defined, sym_is_common, ver, vis,
> -                        native_sym.st_shndx == strings_ndx);
> -    return sym;
> -  }
> -
>    /// Test if a given function symbol has been exported.
>    ///
>    /// @param symbol_address the address of the symbol we are looking
> @@ -5206,102 +5098,6 @@ public:
>      return symtab_;
>    }
>
> -  /// Getter for a pointer to the map that associates the address of
> -  /// an entry point of a function with the symbol of that function.
> -  ///
> -  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
> -  /// the one that assciates the address of a function with the symbol
> -  /// of that function.
> -  ///
> -  /// @return a pointer to the map that associates the address of an
> -  /// entry point of a function with the symbol of that function.
> -  addr_elf_symbol_sptr_map_sptr&
> -  fun_entry_addr_sym_map_sptr()
> -  {
> -    if (!fun_entry_addr_sym_map_ && !fun_addr_sym_map_)
> -      maybe_load_symbol_maps();
> -    if (architecture_is_ppc64(elf_handle()))
> -      return fun_entry_addr_sym_map_;
> -    return fun_addr_sym_map_;
> -  }
> -
> -  /// Getter for the map that associates the address of an entry point
> -  /// of a function with the symbol of that function.
> -  ///
> -  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
> -  /// the one that assciates the address of a function with the symbol
> -  /// of that function.
> -  ///
> -  /// @return the map that associates the address of an entry point of
> -  /// a function with the symbol of that function.
> -  addr_elf_symbol_sptr_map_type&
> -  fun_entry_addr_sym_map()
> -  {return *fun_entry_addr_sym_map_sptr();}
> -
> -  /// Getter for the map of function symbols (name -> sym).
> -  ///
> -  /// @return a shared pointer to the map of function symbols.
> -  const string_elf_symbols_map_sptr&
> -  fun_syms_sptr() const
> -  {
> -    maybe_load_symbol_maps();
> -    return fun_syms_;
> -  }
> -
> -  /// Getter for the map of function symbols (name -> sym).
> -  ///
> -  /// @return a reference to the map of function symbols.
> -  string_elf_symbols_map_type&
> -  fun_syms()
> -  {
> -    maybe_load_symbol_maps();
> -    return *fun_syms_;
> -  }
> -
> -  /// Getter for the map of variable symbols (name -> sym)
> -  ///
> -  /// @return a shared pointer to the map of variable symbols.
> -  const string_elf_symbols_map_sptr
> -  var_syms_sptr() const
> -  {
> -    maybe_load_symbol_maps();
> -    return var_syms_;
> -  }
> -
> -  /// Getter for the map of variable symbols (name -> sym)
> -  ///
> -  /// @return a reference to the map of variable symbols.
> -  string_elf_symbols_map_type&
> -  var_syms()
> -  {
> -    maybe_load_symbol_maps();
> -    return *var_syms_;
> -  }
> -
> -  /// Getter for the map of undefined function symbols (name -> vector
> -  /// of symbols).
> -  ///
> -  /// @return a (smart) pointer to the map of undefined function
> -  /// symbols.
> -  const string_elf_symbols_map_sptr&
> -  undefined_fun_syms_sptr() const
> -  {
> -    maybe_load_symbol_maps();
> -    return undefined_fun_syms_;
> -  }
> -
> -  /// Getter for the map of undefined variable symbols (name -> vector
> -  /// of symbols).
> -  ///
> -  /// @return a (smart) pointer to the map of undefined variable
> -  /// symbols.
> -  const string_elf_symbols_map_sptr&
> -  undefined_var_syms_sptr() const
> -  {
> -    maybe_load_symbol_maps();
> -    return undefined_var_syms_;
> -  }
> -
>    /// Getter for the ELF dt_needed tag.
>    const vector<string>&
>    dt_needed() const
> @@ -5317,232 +5113,6 @@ public:
>    elf_architecture() const
>    {return elf_architecture_;}
>
> -  /// Load the maps address -> function symbol, address -> variable
> -  /// symbol and the maps of function and variable undefined symbols.
> -  ///
> -  /// @param load_fun_map whether to load the address to function map.
> -  ///
> -  /// @param load_var_map whether to laod the address to variable map.
> -  ///
> -  /// @param load_undefined_fun_map whether to load the undefined
> -  /// function map.
> -  ///
> -  /// @param load_undefined_var_map whether to laod the undefined
> -  /// variable map.
> -  ///
> -  /// @return return true iff the maps have be loaded.
> -  bool
> -  load_symbol_maps_from_symtab_section(bool load_fun_map,
> -                                      bool load_var_map,
> -                                      bool load_undefined_fun_map,
> -                                      bool load_undefined_var_map)
> -  {
> -    Elf_Scn* symtab_section = find_symbol_table_section();
> -    if (!symtab_section)
> -      return false;
> -
> -    GElf_Shdr header_mem;
> -    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
> -                                            &header_mem);
> -
> -    // check for bogus section header
> -    if (symtab_sheader->sh_entsize == 0)
> -      return false;
> -
> -    size_t nb_syms = symtab_sheader->sh_size / symtab_sheader->sh_entsize;
> -
> -    Elf_Data* symtab = elf_getdata(symtab_section, 0);
> -    if (!symtab)
> -      return false;
> -
> -    GElf_Ehdr elf_header;
> -    ABG_ASSERT(gelf_getehdr(elf_handle(), &elf_header));
> -
> -    bool is_ppc64 = architecture_is_ppc64(elf_handle());
> -
> -    for (size_t i = 0; i < nb_syms; ++i)
> -      {
> -       GElf_Sym* sym, sym_mem;
> -       sym = gelf_getsym(symtab, i, &sym_mem);
> -       ABG_ASSERT(sym);
> -
> -       if ((load_fun_map || load_undefined_fun_map)
> -           && (GELF_ST_TYPE(sym->st_info) == STT_FUNC
> -               || GELF_ST_TYPE(sym->st_info) == STT_GNU_IFUNC))
> -         {
> -           elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
> -           ABG_ASSERT(symbol);
> -           ABG_ASSERT(symbol->is_function());
> -
> -           // If the symbol was suppressed by a suppression
> -           // specification then drop it on the floor.
> -           if (is_elf_symbol_suppressed(symbol))
> -             continue;
> -
> -           if (load_fun_map && symbol->is_public())
> -             {
> -               (*fun_syms_)[symbol->get_name()].push_back(symbol);
> -
> -               {
> -                 GElf_Addr symbol_value =
> -                     maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
> -                                                              sym);
> -
> -                 addr_elf_symbol_sptr_map_type::const_iterator it =
> -                   fun_addr_sym_map_->find(symbol_value);
> -                 if (it == fun_addr_sym_map_->end())
> -                   (*fun_addr_sym_map_)[symbol_value] = symbol;
> -                 else //if (sym->st_value != 0)
> -                   it->second->get_main_symbol()->add_alias(symbol);
> -
> -                 if (is_ppc64)
> -                   {
> -                     // For ppc64 ELFv1 binaries, we need to build a
> -                     // function entry point address -> function
> -                     // symbol map.  This is in addition to the
> -                     // function pointer -> symbol map.  This is
> -                     // because on ppc64 ELFv1, a function pointer is
> -                     // different from a function entry point
> -                     // address.
> -                     //
> -                     // On ppc64 ELFv1, the DWARF DIE of a function
> -                     // references the address of the entry point of
> -                     // the function symbol; whereas the value of the
> -                     // function symbol is the function pointer.  As
> -                     // these addresses are different, if I we want
> -                     // to get to the symbol of a function from its
> -                     // entry point address (as referenced by DWARF
> -                     // function DIEs) we must have the two maps I
> -                     // mentionned right above.
> -                     //
> -                     // In other words, we need a map that associates
> -                     // a function enty point address with the symbol
> -                     // of that function, to be able to get the
> -                     // function symbol that corresponds to a given
> -                     // function DIE, on ppc64.
> -                     //
> -                     // The value of the function pointer (the value
> -                     // of the symbol) usually refers to the offset
> -                     // of a table in the .opd section.  But
> -                     // sometimes, for a symbol named "foo", the
> -                     // corresponding symbol named ".foo" (note the
> -                     // dot before foo) which value is the entry
> -                     // point address of the function; that entry
> -                     // point address refers to a region in the .text
> -                     // section.
> -                     //
> -                     // So we are only interested in values of the
> -                     // symbol that are in the .opd section.
> -                     GElf_Addr fn_desc_addr = sym->st_value;
> -                     GElf_Addr fn_entry_point_addr =
> -                         lookup_ppc64_elf_fn_entry_point_address(
> -                             elf_handle(), fn_desc_addr);
> -                     addr_elf_symbol_sptr_map_type::const_iterator it2 =
> -                       fun_entry_addr_sym_map().find(fn_entry_point_addr);
> -
> -                     if (it2 == fun_entry_addr_sym_map().end())
> -                       fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
> -                     else if (address_is_in_opd_section(elf_handle(),
> -                                                        fn_desc_addr))
> -                       {
> -                         // Either
> -                         //
> -                         // 'symbol' must have been registered as an
> -                         // alias for it2->second->get_main_symbol(),
> -                         // right before the "if (ppc64)" statement.
> -                         //
> -                         // Or
> -                         //
> -                         // if the name of 'symbol' is foo, then the
> -                         // name of it2->second is ".foo".  That is,
> -                         // foo is the name of the symbol when it
> -                         // refers to the function descriptor in the
> -                         // .opd section and ".foo" is an internal
> -                         // name for the address of the entry point
> -                         // of foo.
> -                         //
> -                         // In the latter case, we just want to keep
> -                         // a refernce to "foo" as .foo is an
> -                         // internal name.
> -
> -                         bool two_symbols_alias =
> -                           it2->second->get_main_symbol()->does_alias(*symbol);
> -                         bool symbol_is_foo_and_prev_symbol_is_dot_foo =
> -                           (it2->second->get_name()
> -                            == string(".") + symbol->get_name());
> -
> -                         ABG_ASSERT(two_symbols_alias
> -                                || symbol_is_foo_and_prev_symbol_is_dot_foo);
> -
> -                         if (symbol_is_foo_and_prev_symbol_is_dot_foo)
> -                           // Let's just keep a reference of the
> -                           // symbol that the user sees in the source
> -                           // code (the one named foo).  The symbol
> -                           // which name is prefixed with a "dot" is
> -                           // an artificial one.
> -                           fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
> -                       }
> -                   }
> -               }
> -             }
> -           else if (load_undefined_fun_map && !symbol->is_defined())
> -             (*undefined_fun_syms_)[symbol->get_name()].push_back(symbol);
> -         }
> -       else if ((load_var_map || load_undefined_var_map)
> -                && (GELF_ST_TYPE(sym->st_info) == STT_OBJECT
> -                    || GELF_ST_TYPE(sym->st_info) == STT_TLS)
> -                // If the symbol is for an OBJECT, the index of the
> -                // section it refers to cannot be absolute.
> -                // Otherwise that OBJECT is not a variable.
> -                && (sym->st_shndx != SHN_ABS
> -                    || GELF_ST_TYPE(sym->st_info) != STT_OBJECT ))
> -         {
> -           elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
> -           ABG_ASSERT(symbol);
> -           ABG_ASSERT(symbol->is_variable());
> -
> -           if (load_var_map && symbol->is_public())
> -             {
> -               (*var_syms_)[symbol->get_name()].push_back(symbol);
> -
> -               if (symbol->is_common_symbol())
> -                 {
> -                   string_elf_symbols_map_type::iterator it =
> -                     var_syms_->find(symbol->get_name());
> -                   ABG_ASSERT(it != var_syms_->end());
> -                   const elf_symbols& common_sym_instances = it->second;
> -                   ABG_ASSERT(!common_sym_instances.empty());
> -                   if (common_sym_instances.size() > 1)
> -                     {
> -                       elf_symbol_sptr main_common_sym =
> -                         common_sym_instances[0];
> -                       ABG_ASSERT(main_common_sym->get_name()
> -                              == symbol->get_name());
> -                       ABG_ASSERT(main_common_sym->is_common_symbol());
> -                       ABG_ASSERT(symbol.get() != main_common_sym.get());
> -                       main_common_sym->add_common_instance(symbol);
> -                     }
> -                 }
> -               else
> -                 {
> -                   GElf_Addr symbol_value =
> -                       maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
> -                                                                sym);
> -                   addr_elf_symbol_sptr_map_type::const_iterator it =
> -                     var_addr_sym_map_->find(symbol_value);
> -                   if (it == var_addr_sym_map_->end())
> -                     (*var_addr_sym_map_)[symbol_value] = symbol;
> -                   else
> -                     it->second->get_main_symbol()->add_alias(symbol);
> -                 }
> -             }
> -           else if (load_undefined_var_map && !symbol->is_defined())
> -             (*undefined_var_syms_)[symbol->get_name()].push_back(symbol);
> -         }
> -      }
> -    return true;
> -  }
> -
>    /// Test if a given ELF symbol was suppressed by a suppression
>    /// specification.
>    ///
> @@ -5558,71 +5128,6 @@ public:
>                                                symbol->get_type()));
>    }
>
> -  /// Load the maps of function symbol address -> function symbol,
> -  /// global variable symbol address -> variable symbol and also the
> -  /// maps of function and variable undefined symbols.
> -  ///
> -  /// All these maps are loaded only if they are not loaded already.
> -  ///
> -  /// @return true iff everything went fine.
> -  bool
> -  load_symbol_maps()
> -  {
> -    bool load_fun_map = !fun_addr_sym_map_ ;
> -    bool load_var_map = !var_addr_sym_map_;
> -    bool load_undefined_fun_map = !undefined_fun_syms_;
> -    bool load_undefined_var_map = !undefined_var_syms_;
> -
> -    if (!fun_syms_)
> -      fun_syms_.reset(new string_elf_symbols_map_type);
> -
> -    if (!fun_addr_sym_map_)
> -      fun_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
> -
> -    if (!fun_entry_addr_sym_map_ && architecture_is_ppc64(elf_handle()))
> -      fun_entry_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
> -
> -    if (!var_syms_)
> -      var_syms_.reset(new string_elf_symbols_map_type);
> -
> -    if (!var_addr_sym_map_)
> -      var_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
> -
> -    if (!undefined_fun_syms_)
> -      undefined_fun_syms_.reset(new string_elf_symbols_map_type);
> -
> -    if (!undefined_var_syms_)
> -      undefined_var_syms_.reset(new string_elf_symbols_map_type);
> -
> -    if (!options_.ignore_symbol_table)
> -      {
> -       if (load_symbol_maps_from_symtab_section(load_fun_map,
> -                                                load_var_map,
> -                                                load_undefined_fun_map,
> -                                                load_undefined_var_map))
> -           return true;
> -       return false;
> -      }
> -    return true;
> -  }
> -
> -  /// Load the symbol maps if necessary.
> -  ///
> -  /// @return true iff the symbol maps has been loaded by this
> -  /// invocation.
> -  bool
> -  maybe_load_symbol_maps() const
> -  {
> -    if (!fun_addr_sym_map_
> -       || !var_addr_sym_map_
> -       || !fun_syms_
> -       || !var_syms_
> -       || !undefined_fun_syms_
> -       || !undefined_var_syms_)
> -      return const_cast<read_context*>(this)->load_symbol_maps();
> -    return false;
> -  }
> -
>    /// Load the DT_NEEDED and DT_SONAME elf TAGS.
>    ///
>    void
> @@ -6494,46 +5999,6 @@ void
>  set_do_log(read_context& ctxt, bool f)
>  {ctxt.do_log(f);}
>
> -/// Setter of the "set_ignore_symbol_table" flag.
> -///
> -/// This flag tells if we should load information about ELF symbol
> -/// tables.  Not loading the symbol tables is a speed optimization
> -/// that is done when the set of symbols we care about is provided
> -/// off-hand.  This is the case when we are supposed to analyze a
> -/// Linux kernel binary.  In that case, because we have the white list
> -/// of functions/variable symbols we care about, we don't need to
> -/// analyze the symbol table; things are thus faster in that case.
> -///
> -/// By default, the symbol table is analyzed so this boolean is set to
> -/// false.
> -///
> -/// @param ctxt the read context to consider.
> -///
> -/// @param f the new value of the flag.
> -void
> -set_ignore_symbol_table(read_context &ctxt, bool f)
> -{ctxt.options_.ignore_symbol_table = f;}
> -
> -/// Getter of the "set_ignore_symbol_table" flag.
> -///
> -/// This flag tells if we should load information about ELF symbol
> -/// tables.  Not loading the symbol tables is a speed optimization
> -/// that is done when the set of symbols we care about is provided
> -/// off-hand.  This is the case when we are supposed to analyze a
> -/// Linux kernel binary.  In that case, because we have the white list
> -/// of functions/variable symbols we care about, we don't need to
> -/// analyze the symbol table; things are thus faster in that case.
> -///
> -/// By default, the symbol table is analyzed so this boolean is set to
> -/// false.
> -///
> -/// @param ctxt the read context to consider.
> -///
> -/// @return the value of the flag.
> -bool
> -get_ignore_symbol_table(const read_context& ctxt)
> -{return ctxt.options_.ignore_symbol_table;}
> -
>  /// Test if a given DIE is anonymous
>  ///
>  /// @param die the DIE to consider.
> @@ -13483,33 +12948,6 @@ build_or_get_var_decl_if_not_suppressed(read_context&  ctxt,
>    return var;
>  }
>
> -/// Create a variable symbol with a given name.
> -///
> -/// @param sym_name the name of the variable symbol.
> -///
> -/// @param env the environment to create the default symbol in.
> -///
> -/// @return the newly created symbol.
> -static elf_symbol_sptr
> -create_default_var_sym(const string& sym_name, const environment *env)
> -{
> -  elf_symbol::version ver;
> -  elf_symbol::visibility vis = elf_symbol::DEFAULT_VISIBILITY;
> -  elf_symbol_sptr result =
> -    elf_symbol::create(env,
> -                      /*symbol index=*/ 0,
> -                      /*symbol size=*/ 0,
> -                      sym_name,
> -                      /*symbol type=*/ elf_symbol::OBJECT_TYPE,
> -                      /*symbol binding=*/ elf_symbol::GLOBAL_BINDING,
> -                      /*symbol is defined=*/ true,
> -                      /*symbol is common=*/ false,
> -                      /*symbol version=*/ ver,
> -                      /*symbol_visibility=*/vis,
> -                      /*is_linux_string_cst=*/false);
> -  return result;
> -}
> -
>  /// Build a @ref var_decl out of a DW_TAG_variable DIE.
>  ///
>  /// @param ctxt the read context to use.
> @@ -13581,23 +13019,9 @@ build_var_decl(read_context&   ctxt,
>    if (!result->get_symbol())
>      {
>        elf_symbol_sptr var_sym;
> -      if (get_ignore_symbol_table(ctxt))
> -       {
> -         string var_name =
> -           result->get_linkage_name().empty()
> -           ? result->get_name()
> -           : result->get_linkage_name();
> -
> -         var_sym = create_default_var_sym(var_name, ctxt.env());
> -         ABG_ASSERT(var_sym);
> -         add_symbol_to_map(var_sym, ctxt.var_syms());
> -       }
> -      else
> -       {
> -         Dwarf_Addr var_addr;
> -         if (ctxt.get_variable_address(die, var_addr))
> -           var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
> -       }
> +      Dwarf_Addr      var_addr;
> +      if (ctxt.get_variable_address(die, var_addr))
> +       var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
>
>        if (var_sym)
>         {
> @@ -13658,15 +13082,9 @@ function_is_suppressed(const read_context& ctxt,
>        Dwarf_Addr fn_addr;
>        if (!ctxt.get_function_address(function_die, fn_addr))
>         return true;
> -      if (!get_ignore_symbol_table(ctxt))
> -       {
> -         // We were not instructed to ignore (avoid loading) the
> -         // symbol table, so we can rely on its presence to see if
> -         // the address corresponds to the address of an exported
> -         // function symbol.
> -         if (!ctxt.function_symbol_is_exported(fn_addr))
> -           return true;
> -       }
> +
> +      if (!ctxt.function_symbol_is_exported(fn_addr))
> +       return true;
>      }
>
>    return suppr::function_is_suppressed(ctxt, qualified_name,
> @@ -13769,15 +13187,9 @@ variable_is_suppressed(const read_context& ctxt,
>        Dwarf_Addr var_addr = 0;
>        if (!ctxt.get_variable_address(variable_die, var_addr))
>         return true;
> -      if (!get_ignore_symbol_table(ctxt))
> -       {
> -         // We were not instructed to ignore (avoid loading) the
> -         // symbol table, so we can rely on its presence to see if
> -         // the address corresponds to the address of an exported
> -         // variable symbol.
> -         if (!ctxt.variable_symbol_is_exported(var_addr))
> -           return true;
> -       }
> +
> +      if (!ctxt.variable_symbol_is_exported(var_addr))
> +       return true;
>      }
>
>    return suppr::variable_is_suppressed(ctxt, qualified_name,
> @@ -14028,23 +13440,9 @@ build_function_decl(read_context&      ctxt,
>    if (!result->get_symbol())
>      {
>        elf_symbol_sptr fn_sym;
> -      if (get_ignore_symbol_table(ctxt))
> -       {
> -         string fn_name =
> -           result->get_linkage_name().empty()
> -           ? result->get_name()
> -           : result->get_linkage_name();
> -
> -         fn_sym = create_default_fn_sym(fn_name, ctxt.env());
> -         ABG_ASSERT(fn_sym);
> -         add_symbol_to_map(fn_sym, ctxt.fun_syms());
> -       }
> -      else
> -       {
> -         Dwarf_Addr fn_addr;
> -         if (ctxt.get_function_address(die, fn_addr))
> -           fn_sym = ctxt.function_symbol_is_exported(fn_addr);
> -       }
> +      Dwarf_Addr      fn_addr;
> +      if (ctxt.get_function_address(die, fn_addr))
> +       fn_sym = ctxt.function_symbol_is_exported(fn_addr);
>
>        if (fn_sym)
>         {
> @@ -14074,29 +13472,6 @@ build_function_decl(read_context&      ctxt,
>    return result;
>  }
>
> -/// Add a symbol to a symbol map.
> -///
> -/// @param sym the symbol to add.
> -///
> -/// @param map the symbol map to add the symbol into.
> -static void
> -add_symbol_to_map(const elf_symbol_sptr& sym,
> -                 string_elf_symbols_map_type& map)
> -{
> -  if (!sym)
> -    return;
> -
> -  string_elf_symbols_map_type::iterator it = map.find(sym->get_name());
> -  if (it == map.end())
> -    {
> -      elf_symbols syms;
> -      syms.push_back(sym);
> -      map[sym->get_name()] = syms;
> -    }
> -  else
> -    it->second.push_back(sym);
> -}
> -
>  /// Read all @ref abigail::translation_unit possible from the debug info
>  /// accessible through a DWARF Front End Library handle, and stuff
>  /// them into a libabigail ABI Corpus.
> @@ -15341,13 +14716,6 @@ read_corpus_from_elf(read_context& ctxt, status& status)
>
>    ctxt.load_elf_properties();  // DT_SONAME, DT_NEEDED, architecture
>
> -  if (!get_ignore_symbol_table(ctxt))
> -    {
> -      // Read the symbols for publicly defined decls
> -      if (!ctxt.load_symbol_maps())
> -       status |= STATUS_NO_SYMBOLS_FOUND;
> -    }
> -
>    if (!ctxt.symtab() || !ctxt.symtab()->has_symbols())
>      status |= STATUS_NO_SYMBOLS_FOUND;
>
> diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc
> index dfbec879de8d..9116a97a62e9 100644
> --- a/src/abg-tools-utils.cc
> +++ b/src/abg-tools-utils.cc
> @@ -2563,12 +2563,6 @@ build_corpus_group_from_kernel_dist_under(const string&  root,
>                       << t
>                       << "\n";
>
> -         // If we have been given a whitelist of functions and
> -         // variable symbols to look at, then we can avoid loading
> -         // and analyzing the ELF symbol table.
> -         bool do_ignore_symbol_table = !kabi_wl_paths.empty();
> -         set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
> -
>           group.reset(new corpus_group(env.get(), root));
>
>           set_read_context_corpus_group(*ctxt, group);
> @@ -2608,13 +2602,6 @@ build_corpus_group_from_kernel_dist_under(const string&  root,
>                                  /*read_all_types=*/false,
>                                  /*linux_kernel_mode=*/true);
>
> -             // If we have been given a whitelist of functions and
> -             // variable symbols to look at, then we can avoid loading
> -             // and analyzing the ELF symbol table.
> -             bool do_ignore_symbol_table = !kabi_wl_paths.empty();
> -
> -             set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
> -
>               load_generate_apply_suppressions(*ctxt, suppr_paths,
>                                                kabi_wl_paths, supprs);
>
> diff --git a/tools/abidw.cc b/tools/abidw.cc
> index 2cd848df9fb8..58072e7072c4 100644
> --- a/tools/abidw.cc
> +++ b/tools/abidw.cc
> @@ -828,8 +828,6 @@ main(int argc, char* argv[])
>        set_show_stats(ctxt, opts.show_stats);
>        set_suppressions(ctxt, opts);
>        abigail::dwarf_reader::set_do_log(ctxt, opts.do_log);
> -      if (!opts.kabi_whitelist_supprs.empty())
> -       set_ignore_symbol_table(ctxt, true);
>
>        if (opts.check_alt_debug_info_path)
>         {
> --
> 2.27.0.111.gc72c7da667-goog
>

^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 00/21] Refactor (k)symtab reader
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (15 preceding siblings ...)
  2020-06-19 21:43 ` [PATCH v1 16/16] dwarf reader: drop (now) unused code related symbol table reading Matthias Maennich
@ 2020-07-03 16:46 ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 01/21] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
                     ` (21 more replies)
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
  17 siblings, 22 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The current implementation that reads the symtab and the ksymtab has grown
over time from simple symtab reading to way more complex ksymtab reading
including taking care of little details like position relative relocations,
symbol namespaces, etc. Yet, more features are coming to the Linux kernels that
make this parsing even more tricky: Further changes to the ksymtab layout and
different needs to lookup symbols caused by features like LTO (causing RELA
relocations in the ksymtab entries) and CFI (causing additional jump table
symbols) that are highly confusing the meaning of ksymtab entries and make it
increasingly challenging for a static analysis tool like libabigail to properly
process the ksymtab values.

This added complexity also adds more and more responsibilities to the
read_context that already has a lot of different tasks to juggle. It gets
increasingly difficult to ensure, further development in the dwarf reader can
be done without subtly regressing existing functionality.

Hence, attempt a refactoring (one could argue: rewrite, but a lot of
functionality is just migrated out) of the symtab reading code.

The first 2 commits set up some prerequisites, like a partial backport of
std::optional and enabling std::bind and friends.

Commit 3 and 4 modify abg-ir's elf_symbol to be able to carry 'is_suppressed'
and 'is_in_ksymtab'.

Commit 5 and 6 implement the new symtab reader.

The abg-symtab-reader has been introduced as an instance decoupled from dwarf
readers' read_context. This reduces the responsibilities of the dwarf reader
and separates the functionality into a new compilation unit. It contains
several components to make the main component 'symtab' easy to access and to
query. Refer to the extensive commit message there for details. The actual
core of the symtab reading has been taken as a base, but refactored where
useful. The ksymtab reading could be simplified by processing the corresponding
__ksymtab_* entries directly from symtab without the need to interpret the
binary ksymtab sections. That also resolves issues with wrong ksymtab reading:
Mapping from the ksymtab symbol address to the symtab entry might leave us with
a non-main symbol and hence leads to incorrect results. E.g. symbols like
strlen are implemented as __pi_strlen and are aliases to strlen in the kernel.
Only by reading the ksymtab entries we can decide which symbol to keep.
Otherwise we get indeterministic results. Furthermore, symbol whitelists might
list one or the other leading to issues of suppressed symbols for which we
might just see the wrong symbol and therefore suppress both from analysis.
In addition, detecting the format of the ksymtab, requires the first entry to
be a valid elf_symbol, which is not the case if filtered out via whitelist or
suppression. Finally, features like CFI require name based lookup into the
ksymtab and LTO with clang on aarch64 might make the ksymtab contain
relocatable entries. This is additional complexity hitting the dwarf reader.
Those are subtle issues that motivated this series.

Conceptionally, the new reader works quite similar. Except for the way
suppressions are applied: Instead of discarding symbols while reading, we flag
symbols as suppressed and keep them around for lookup purposes. That resolves
issues when dealing with symbol aliases.

Commit 7 integrates the new symtab reader into the existing code - side by side
with the current implementation.

Commits 8 - 12 migrate more and more symtab users over to the new symtab
reader, including the ksymtab functionality in commit 12 where the old
implementation could be obsoleted.

Commits 13 and 14 re-add the ppc64 support for ELFv1 binaries.

Commits 15 and 16 remove now obsolete functionality and remove the now old
implementation.

Commit 17 adds additional tests for whitelisted symbols.

Commit 18 and 19 address some flaws with aliasing in combination with
suppressions (e.g. triggered from whitelists). Those are issues I was seeing in
the current implementation as well, but could solve a bit easier with the new
symtab reader.

Commit 20 adds support for MODVERSIONS in the Linux kernel (CRC values).

Commit 21 addresses a bug that leads to an assertion hit when reading XML with
whitelisting that hides an aliased symbol.

Performance testing has been done with an 'allmodconfig' kernel config. That is
the worst case for kernels and representing the 'distribution kernel' use case.
During those tests, no significant performance impact could be measured.

In addition, various Android Kernels in various configurations have been tested
with this. The earlier added tests for reading symtab and ksymtab oviously
pass.

v1 -> v2:
  - Commit 16 now also drops the obsolete ksymtab enums.
  - Commit 17+ are new (alias improvements, modversions)
  - rebased on top of current master

Cheers,
Matthias

Matthias Maennich (21):
  abg-cxx-compat: add simplified version of std::optional
  abg-cxx-compat: more <functional> support: std::bind and friends
  abg-ir: elf_symbol: add is_in_ksymtab field
  abg-ir: elf_symbol: add is_suppressed field
  dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
  Refactor ELF symbol table reading by adding a new symtab reader
  Integrate new symtab reader into corpus and read_context
  corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  corpus: make get_unreferenced_(function|variable)_symbols use the new
    symtab
  abg-reader: avoid using the (var|function)_symbol_map
  dwarf-reader: read_context: use new symtab in *_symbols_is_exported
  Switch kernel stuff over to new symtab and drop unused code
  abg-elf-helpers: migrate ppc64 specific helpers
  symtab_reader: add support for ppc64 ELFv1 binaries
  abg-corpus: remove symbol maps and their setters
  dwarf reader: drop now-unused code related to symbol table reading
  test-symtab: add tests for whitelisted functions
  symtab/dwarf-reader: allow hinting of main symbols for aliases
  dwarf-reader/writer: consider aliases when dealing with suppressions
  symtab: Add support for MODVERSIONS (CRC checksums)
  reader/symtab: Improve handling for suppressed aliases

 include/Makefile.am                           |    3 +-
 include/abg-corpus.h                          |   24 +-
 include/abg-cxx-compat.h                      |  100 +
 include/abg-dwarf-reader.h                    |    6 -
 include/abg-fwd.h                             |    8 +
 include/abg-ir.h                              |   53 +-
 include/abg-symtab-reader.h                   |  429 +++
 src/Makefile.am                               |    1 +
 src/abg-corpus-priv.h                         |   57 +-
 src/abg-corpus.cc                             |  645 ++---
 src/abg-dwarf-reader.cc                       | 2437 ++---------------
 src/abg-elf-helpers.cc                        |  186 ++
 src/abg-elf-helpers.h                         |    8 +
 src/abg-ir.cc                                 |  194 +-
 src/abg-reader.cc                             |   58 +-
 src/abg-reporter-priv.cc                      |   18 +-
 src/abg-symtab-reader.cc                      |  494 ++++
 src/abg-tools-utils.cc                        |   13 -
 src/abg-writer.cc                             |   55 +-
 tests/Makefile.am                             |    4 +
 tests/data/Makefile.am                        |   31 +-
 .../test-missing-alias-report.txt             |    0
 .../test-abidiff-exit/test-missing-alias.abi  |   12 +
 .../test-missing-alias.suppr                  |    4 +
 ...ibtirpc.so.report.txt => empty-report.txt} |    0
 .../test-abidiff/test-PR24552-report0.txt     |    3 -
 tests/data/test-abidiff/test-crc-0.xml        | 1601 +++++++++++
 tests/data/test-abidiff/test-crc-1.xml        | 1601 +++++++++++
 tests/data/test-abidiff/test-crc-2.xml        | 1601 +++++++++++
 tests/data/test-abidiff/test-crc-report.txt   |    9 +
 .../test-abidiff/test-empty-corpus-report.txt |    3 -
 .../data/test-annotate/test15-pr18892.so.abi  |  918 +++----
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
 tests/data/test-annotate/test2.so.abi         |   12 +-
 tests/data/test-annotate/test3.so.abi         |    6 +-
 tests/data/test-diff-dwarf/test12-report.txt  |    7 +
 .../test42-PR21296-clanggcc-report0.txt       |    4 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-0.txt |    6 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-1.txt |    6 +-
 .../test23-alias-filter-4.suppr               |    4 +-
 .../test23-alias-filter-report-0.txt          |    4 +-
 .../test23-alias-filter-report-2.txt          |    4 +-
 .../PR22015-libboost_iostreams.so.abi         |   48 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    |    6 +-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   77 +-
 .../test-read-dwarf/test10-pr18818-gcc.so.abi |  192 +-
 .../test-read-dwarf/test11-pr18828.so.abi     |  516 ++--
 .../test-read-dwarf/test12-pr18844.so.abi     |   60 +-
 .../test-read-dwarf/test15-pr18892.so.abi     |  918 +++----
 .../test-read-dwarf/test16-pr18904.so.abi     |  964 +++----
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
 tests/data/test-read-dwarf/test2.so.abi       |   12 +-
 tests/data/test-read-dwarf/test2.so.hash.abi  |   12 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi |  878 +++---
 .../test-read-dwarf/test3-alias-1.so.hash.abi |   14 +
 .../data/test-read-dwarf/test3-alias-1.suppr  |    3 +
 .../test-read-dwarf/test3-alias-2.so.hash.abi |   18 +
 .../data/test-read-dwarf/test3-alias-2.suppr  |    3 +
 .../test-read-dwarf/test3-alias-3.so.hash.abi |   14 +
 .../data/test-read-dwarf/test3-alias-3.suppr  |    3 +
 .../test-read-dwarf/test3-alias-4.so.hash.abi |    8 +
 .../data/test-read-dwarf/test3-alias-4.suppr  |    3 +
 tests/data/test-read-dwarf/test3.so.abi       |    6 +-
 tests/data/test-read-dwarf/test3.so.hash.abi  |    6 +-
 tests/data/test-read-write/test-crc.xml       |   10 +
 tests/data/test-symtab/basic/aliases.c        |   13 +
 tests/data/test-symtab/basic/aliases.so       |  Bin 0 -> 17176 bytes
 tests/data/test-symtab/basic/no_debug_info.c  |    2 +-
 tests/data/test-symtab/basic/no_debug_info.so |  Bin 15360 -> 15544 bytes
 .../one_function_one_variable_all.whitelist   |    3 +
 ...e_function_one_variable_function.whitelist |    2 +
 ...function_one_variable_irrelevant.whitelist |    2 +
 ...e_function_one_variable_variable.whitelist |    2 +
 .../test-symtab/kernel-modversions/Makefile   |   19 +
 .../kernel-modversions/one_of_each.c          |    1 +
 .../kernel-modversions/one_of_each.ko         |  Bin 0 -> 131760 bytes
 tests/test-abidiff-exit.cc                    |    9 +
 tests/test-abidiff.cc                         |   34 +-
 tests/test-cxx-compat.cc                      |   51 +
 tests/test-read-dwarf.cc                      |   32 +
 tests/test-read-write.cc                      |    6 +
 tests/test-symtab-reader.cc                   |   53 +
 tests/test-symtab.cc                          |  195 +-
 tools/abidw.cc                                |    2 -
 84 files changed, 9724 insertions(+), 5222 deletions(-)
 create mode 100644 include/abg-symtab-reader.h
 create mode 100644 src/abg-symtab-reader.cc
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias-report.txt
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.abi
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.suppr
 rename tests/data/test-abidiff/{test-PR18166-libtirpc.so.report.txt => empty-report.txt} (100%)
 delete mode 100644 tests/data/test-abidiff/test-PR24552-report0.txt
 create mode 100644 tests/data/test-abidiff/test-crc-0.xml
 create mode 100644 tests/data/test-abidiff/test-crc-1.xml
 create mode 100644 tests/data/test-abidiff/test-crc-2.xml
 create mode 100644 tests/data/test-abidiff/test-crc-report.txt
 delete mode 100644 tests/data/test-abidiff/test-empty-corpus-report.txt
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.suppr
 create mode 100644 tests/data/test-read-write/test-crc.xml
 create mode 100644 tests/data/test-symtab/basic/aliases.c
 create mode 100755 tests/data/test-symtab/basic/aliases.so
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist
 create mode 100644 tests/data/test-symtab/kernel-modversions/Makefile
 create mode 120000 tests/data/test-symtab/kernel-modversions/one_of_each.c
 create mode 100644 tests/data/test-symtab/kernel-modversions/one_of_each.ko
 create mode 100644 tests/test-symtab-reader.cc

-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 01/21] abg-cxx-compat: add simplified version of std::optional
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 02/21] abg-cxx-compat: more <functional> support: std::bind and friends Matthias Maennich
                     ` (20 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In the absence (but desire) of std::optional<T>, add a simplified
version of it to abg_compat:: in case we are compiling with a pre-C++17
standard. Otherwise use std::optional from <optional> directly.

This is being used by a later patch and serves as a prerequisite.
It only serves the purpose of being a compatibility implementation and
does not claim to be complete at all. Just enough for the project's
needs.

	* include/abg-cxx-compat.h (abg_compat::optional): Add new class.
	* tests/tests-cxx-compat.cc: Add new test cases.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-cxx-compat.h | 86 ++++++++++++++++++++++++++++++++++++++++
 tests/test-cxx-compat.cc | 51 ++++++++++++++++++++++++
 2 files changed, 137 insertions(+)

diff --git a/include/abg-cxx-compat.h b/include/abg-cxx-compat.h
index 714177183945..1283e9191d46 100644
--- a/include/abg-cxx-compat.h
+++ b/include/abg-cxx-compat.h
@@ -23,6 +23,8 @@
 #ifndef __ABG_CXX_COMPAT_H
 #define __ABG_CXX_COMPAT_H
 
+// C++11 support (mostly via tr1 if compiled with earlier standard)
+
 #if __cplusplus >= 201103L
 
 #include <functional>
@@ -39,6 +41,18 @@
 
 #endif
 
+// C++17 support (via custom implementations if compiled with earlier standard)
+
+#if __cplusplus >= 201703L
+
+#include <optional>
+
+#else
+
+#include <stdexcept> // for throwing std::runtime_error("bad_optional_access")
+
+#endif
+
 namespace abg_compat {
 
 #if __cplusplus >= 201103L
@@ -77,6 +91,78 @@ using std::tr1::unordered_set;
 
 #endif
 
+#if __cplusplus >= 201703L
+
+using std::optional;
+
+#else
+
+// <optional>
+
+/// Simplified implementation of std::optional just enough to be used as a
+/// replacement for our purposes and when compiling with pre C++17.
+///
+/// The implementation intentionally does not support a whole lot of features
+/// to minimize the maintainence effort with this.
+template <typename T> class optional
+{
+  bool has_value_;
+  T    value_;
+
+public:
+  optional() : has_value_(false), value_() {}
+  optional(const T& value) : has_value_(true), value_(value) {}
+
+  bool
+  has_value() const
+  {
+    return has_value_;
+  }
+
+  const T&
+  value() const
+  {
+    if (!has_value_)
+      throw std::runtime_error("bad_optional_access");
+    return value_;
+  }
+
+  const T
+  value_or(const T& default_value) const
+  {
+    if (!has_value_)
+      return default_value;
+    return value_;
+  }
+
+  const T&
+  operator*() const
+  { return value_; }
+
+  T&
+  operator*()
+  { return value_; }
+
+  const T*
+  operator->() const
+  { return &value_; }
+
+  T*
+  operator->()
+  { return &value_; }
+
+  optional&
+  operator=(const T& value)
+  {
+    has_value_ = true;
+    value_ = value;
+    return *this;
+  }
+
+  explicit operator bool() const { return has_value_; }
+};
+
+#endif
 }
 
 #endif  // __ABG_CXX_COMPAT_H
diff --git a/tests/test-cxx-compat.cc b/tests/test-cxx-compat.cc
index 0a230a54e1a5..adeb7b8d7e4f 100644
--- a/tests/test-cxx-compat.cc
+++ b/tests/test-cxx-compat.cc
@@ -28,3 +28,54 @@
 
 #include "abg-cxx-compat.h"
 
+using abg_compat::optional;
+
+TEST_CASE("OptionalConstruction", "[abg_compat::optional]")
+{
+  optional<bool> opt1;
+  REQUIRE_FALSE(opt1.has_value());
+
+  optional<bool> opt2(true);
+  REQUIRE(opt2.has_value());
+  CHECK(opt2.value() == true);
+
+  optional<bool> opt3(false);
+  REQUIRE(opt3.has_value());
+  CHECK(opt3.value() == false);
+}
+
+TEST_CASE("OptionalValue", "[abg_compat::optional]")
+{
+  optional<bool> opt;
+  REQUIRE_FALSE(opt.has_value());
+  REQUIRE_THROWS(opt.value());
+
+  opt = true;
+  REQUIRE_NOTHROW(opt.value());
+  CHECK(opt.value() == true);
+}
+
+TEST_CASE("OptionalValueOr", "[abg_compat::optional]")
+{
+  optional<std::string> opt;
+  REQUIRE_FALSE(opt.has_value());
+
+  const std::string& mine = "mine";
+  // Ensure we get a copy of our own value.
+  CHECK(opt.value_or(mine) == mine);
+
+  // Now set the value
+  const std::string& other = "other";
+  opt = other;
+  CHECK(opt.value_or(mine) != mine);
+  CHECK(opt.value_or(mine) == other);
+}
+
+TEST_CASE("OptionalDeref", "[abg_compat::optional]")
+{
+  optional<std::string> opt("asdf");
+  REQUIRE(opt.has_value());
+
+  CHECK(*opt == "asdf");
+  CHECK(opt->size() == 4);
+}
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 02/21] abg-cxx-compat: more <functional> support: std::bind and friends
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 01/21] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 03/21] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
                     ` (19 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Add abg_compat::{bind,function,placeholders} to the compatibility layer.
That is made use of in a later patch. As usual, for C++ standards that
natively support this functionality (C++11 and later), the native
implementation is aliased into the abg_compat namespace.

	* include/abg-cxx-compat.h: add support for
	  abg_compat::{bind,function,placeholders}

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-cxx-compat.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/include/abg-cxx-compat.h b/include/abg-cxx-compat.h
index 1283e9191d46..cab2883b231e 100644
--- a/include/abg-cxx-compat.h
+++ b/include/abg-cxx-compat.h
@@ -58,8 +58,15 @@ namespace abg_compat {
 #if __cplusplus >= 201103L
 
 // <functional>
+using std::bind;
+using std::function;
 using std::hash;
 
+namespace placeholders
+{
+using namespace std::placeholders;
+}
+
 // <memory>
 using std::shared_ptr;
 using std::weak_ptr;
@@ -75,8 +82,15 @@ using std::unordered_set;
 #else
 
 // <functional>
+using std::tr1::bind;
+using std::tr1::function;
 using std::tr1::hash;
 
+namespace placeholders
+{
+using namespace std::tr1::placeholders;
+}
+
 // <memory>
 using std::tr1::shared_ptr;
 using std::tr1::weak_ptr;
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 03/21] abg-ir: elf_symbol: add is_in_ksymtab field
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 01/21] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 02/21] abg-cxx-compat: more <functional> support: std::bind and friends Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 04/21] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
                     ` (18 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Being exported through a ksymtab (in case of Linux Kernel binaries) is
actually a property of the Elf symbol itself and we can therefore track
it along with the symbol that we collect from symtab. While tracking is
currently done by keeping separate symbol lists and maps for symtab and
ksymtab symbols, they can be consolidated having a property to indicate
whether this symbol also appeared as a ksymtab entry.

Hence, and for future changes in this area, add this property and update
all references. The flag is false initially unless otherwise specified.

	* include/abg-ir.h (elf_symbol::elf_symbol): Add is_in_ksymtab
	parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::is_in_ksymtab): New getter declaration.
	(elf_symbol::set_is_in_ksymtab): New setter declaration.
	* src/abg-ir.cc (elf_symbol::priv::priv): Add is_in_ksymtab
	parameter.
	(elf_symbol::priv::is_in_ksymtab_): New field.
	(elf_symbol::elf_symbol): Add is_in_ksymtab parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::is_in_ksymtab): New getter implementation.
	(elf_symbol::set_is_in_ksymtab): New setter implementation.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h |  34 +++++++++------
 src/abg-ir.cc    | 105 +++++++++++++++++++++++++++++------------------
 2 files changed, 86 insertions(+), 53 deletions(-)

diff --git a/include/abg-ir.h b/include/abg-ir.h
index d81de217702b..5766385c8b73 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -851,8 +851,9 @@ private:
 	     bool		d,
 	     bool		c,
 	     const version&	ve,
-	     visibility	vi,
-	     bool		is_linux_string_cst = false);
+	     visibility		vi,
+	     bool		is_linux_string_cst = false,
+	     bool		is_in_ksymtab = false);
 
   elf_symbol(const elf_symbol&);
 
@@ -865,17 +866,18 @@ public:
   create();
 
   static elf_symbol_sptr
-  create(const environment*	e,
-	 size_t		i,
-	 size_t		s,
-	 const string&		n,
-	 type			t,
-	 binding		b,
-	 bool			d,
-	 bool			c,
-	 const version&	ve,
-	 visibility		vi,
-	 bool			is_linux_string_cst = false);
+  create(const environment* e,
+	 size_t		    i,
+	 size_t		    s,
+	 const string&	    n,
+	 type		    t,
+	 binding	    b,
+	 bool		    d,
+	 bool		    c,
+	 const version&	    ve,
+	 visibility	    vi,
+	 bool		    is_linux_string_cst = false,
+	 bool		    is_in_ksymtab = false);
 
   const environment*
   get_environment() const;
@@ -943,6 +945,12 @@ public:
   bool
   is_variable() const;
 
+  bool
+  is_in_ksymtab() const;
+
+  void
+  set_is_in_ksymtab(bool is_in_ksymtab);
+
   const elf_symbol_sptr
   get_main_symbol() const;
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 4813035e5935..00fc00b064d1 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1300,6 +1300,7 @@ struct elf_symbol::priv
   //     STT_COMMON definition of that name that has the largest size.
   bool			is_common_;
   bool			is_linux_string_cst_;
+  bool			is_in_ksymtab_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
   elf_symbol_wptr	next_common_instance_;
@@ -1314,20 +1315,22 @@ struct elf_symbol::priv
       visibility_(elf_symbol::DEFAULT_VISIBILITY),
       is_defined_(false),
       is_common_(false),
-      is_linux_string_cst_(false)
+      is_linux_string_cst_(false),
+      is_in_ksymtab_(false)
   {}
 
-  priv(const environment*		e,
-       size_t				i,
-       size_t				s,
-       const string&			n,
-       elf_symbol::type		t,
-       elf_symbol::binding		b,
-       bool				d,
-       bool				c,
-       const elf_symbol::version&	ve,
-       elf_symbol::visibility		vi,
-       bool				is_linux_string_cst)
+  priv(const environment*	  e,
+       size_t			  i,
+       size_t			  s,
+       const string&		  n,
+       elf_symbol::type		  t,
+       elf_symbol::binding	  b,
+       bool			  d,
+       bool			  c,
+       const elf_symbol::version& ve,
+       elf_symbol::visibility	  vi,
+       bool			  is_linux_string_cst,
+       bool			  is_in_ksymtab)
     : env_(e),
       index_(i),
       size_(s),
@@ -1338,7 +1341,8 @@ struct elf_symbol::priv
       visibility_(vi),
       is_defined_(d),
       is_common_(c),
-      is_linux_string_cst_(is_linux_string_cst)
+      is_linux_string_cst_(is_linux_string_cst),
+      is_in_ksymtab_(is_in_ksymtab)
   {
     if (!is_common_)
       is_common_ = type_ == COMMON_TYPE;
@@ -1384,19 +1388,30 @@ elf_symbol::elf_symbol()
 ///
 /// @param is_linux_string_cst true if the symbol is a Linux Kernel
 /// string constant defined in the __ksymtab_strings section.
-elf_symbol::elf_symbol(const environment*	e,
-		       size_t			i,
-		       size_t			s,
-		       const string&		n,
-		       type			t,
-		       binding			b,
-		       bool			d,
-		       bool			c,
-		       const version&		ve,
-		       visibility		vi,
-		       bool			is_linux_string_cst)
-  : priv_(new priv(e, i, s, n, t, b, d,
-		   c, ve, vi, is_linux_string_cst))
+elf_symbol::elf_symbol(const environment* e,
+		       size_t		  i,
+		       size_t		  s,
+		       const string&	  n,
+		       type		  t,
+		       binding		  b,
+		       bool		  d,
+		       bool		  c,
+		       const version&	  ve,
+		       visibility	  vi,
+		       bool		  is_linux_string_cst,
+		       bool		  is_in_ksymtab)
+  : priv_(new priv(e,
+		   i,
+		   s,
+		   n,
+		   t,
+		   b,
+		   d,
+		   c,
+		   ve,
+		   vi,
+		   is_linux_string_cst,
+		   is_in_ksymtab))
 {}
 
 /// Factory of instances of @ref elf_symbol.
@@ -1443,20 +1458,22 @@ elf_symbol::create()
 /// @return a (smart) pointer to a newly created instance of @ref
 /// elf_symbol.
 elf_symbol_sptr
-elf_symbol::create(const environment*	e,
-		   size_t		i,
-		   size_t		s,
-		   const string&	n,
-		   type		t,
-		   binding		b,
-		   bool		d,
-		   bool		c,
-		   const version&	ve,
-		   visibility		vi,
-		   bool		is_linux_string_cst)
-{
-  elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve,
-				     vi, is_linux_string_cst));
+elf_symbol::create(const environment* e,
+		   size_t	      i,
+		   size_t	      s,
+		   const string&      n,
+		   type		      t,
+		   binding	      b,
+		   bool		      d,
+		   bool		      c,
+		   const version&     ve,
+		   visibility	      vi,
+		   bool		      is_linux_string_cst,
+		   bool		      is_in_ksymtab)
+{
+  elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
+				     is_linux_string_cst,
+				     is_in_ksymtab));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1676,6 +1693,14 @@ bool
 elf_symbol::is_variable() const
 {return get_type() == OBJECT_TYPE || get_type() == TLS_TYPE;}
 
+bool
+elf_symbol::is_in_ksymtab() const
+{return priv_->is_in_ksymtab_;}
+
+void
+elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
+{priv_->is_in_ksymtab_ = is_in_ksymtab;}
+
 /// @name Elf symbol aliases
 ///
 /// An alias A for an elf symbol S is a symbol that is defined at the
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 04/21] abg-ir: elf_symbol: add is_suppressed field
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (2 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 03/21] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 05/21] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
                     ` (17 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In the context of libabigail and a single library run (when reading from
dwarf or from xml), a symbol is either suppressed or it is not. While
one could argue that this is a property of the read_context, the
read_context might not be around anymore when the symbol still is.
Hence, persist the 'is_suppressed' state along with the symbol itself.

        * include/abg-ir.h (elf_symbol::elf_symbol): Add is_suppressed
        parameter.
        (elf_symbol::create): Likewise.
        (elf_symbol::is_suppressed): New getter declaration.
        (elf_symbol::set_is_suppressed): New setter declaration.
        * src/abg-ir.cc (elf_symbol::priv::priv): Add is_suppressed
        parameter.
        (elf_symbol::priv::is_suppressed_): New field.
        (elf_symbol::elf_symbol): Add is_suppressed parameter.
        (elf_symbol::create): Likewise.
        (elf_symbol::is_suppressed): New getter implementation.
        (elf_symbol::set_is_suppressed): New setter implementation.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h | 12 ++++++++++--
 src/abg-ir.cc    | 29 ++++++++++++++++++++++-------
 2 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/include/abg-ir.h b/include/abg-ir.h
index 5766385c8b73..838d3f80695a 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -853,7 +853,8 @@ private:
 	     const version&	ve,
 	     visibility		vi,
 	     bool		is_linux_string_cst = false,
-	     bool		is_in_ksymtab = false);
+	     bool		is_in_ksymtab = false,
+	     bool		is_suppressed = false);
 
   elf_symbol(const elf_symbol&);
 
@@ -877,7 +878,8 @@ public:
 	 const version&	    ve,
 	 visibility	    vi,
 	 bool		    is_linux_string_cst = false,
-	 bool		    is_in_ksymtab = false);
+	 bool		    is_in_ksymtab = false,
+	 bool		    is_suppressed = false);
 
   const environment*
   get_environment() const;
@@ -951,6 +953,12 @@ public:
   void
   set_is_in_ksymtab(bool is_in_ksymtab);
 
+  bool
+  is_suppressed() const;
+
+  void
+  set_is_suppressed(bool is_suppressed);
+
   const elf_symbol_sptr
   get_main_symbol() const;
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 00fc00b064d1..c69284f0946a 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1301,6 +1301,7 @@ struct elf_symbol::priv
   bool			is_common_;
   bool			is_linux_string_cst_;
   bool			is_in_ksymtab_;
+  bool			is_suppressed_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
   elf_symbol_wptr	next_common_instance_;
@@ -1316,7 +1317,8 @@ struct elf_symbol::priv
       is_defined_(false),
       is_common_(false),
       is_linux_string_cst_(false),
-      is_in_ksymtab_(false)
+      is_in_ksymtab_(false),
+      is_suppressed_(false)
   {}
 
   priv(const environment*	  e,
@@ -1330,7 +1332,8 @@ struct elf_symbol::priv
        const elf_symbol::version& ve,
        elf_symbol::visibility	  vi,
        bool			  is_linux_string_cst,
-       bool			  is_in_ksymtab)
+       bool			  is_in_ksymtab,
+       bool			  is_suppressed)
     : env_(e),
       index_(i),
       size_(s),
@@ -1342,7 +1345,8 @@ struct elf_symbol::priv
       is_defined_(d),
       is_common_(c),
       is_linux_string_cst_(is_linux_string_cst),
-      is_in_ksymtab_(is_in_ksymtab)
+      is_in_ksymtab_(is_in_ksymtab),
+      is_suppressed_(is_suppressed)
   {
     if (!is_common_)
       is_common_ = type_ == COMMON_TYPE;
@@ -1399,7 +1403,8 @@ elf_symbol::elf_symbol(const environment* e,
 		       const version&	  ve,
 		       visibility	  vi,
 		       bool		  is_linux_string_cst,
-		       bool		  is_in_ksymtab)
+		       bool		  is_in_ksymtab,
+		       bool		  is_suppressed)
   : priv_(new priv(e,
 		   i,
 		   s,
@@ -1411,7 +1416,8 @@ elf_symbol::elf_symbol(const environment* e,
 		   ve,
 		   vi,
 		   is_linux_string_cst,
-		   is_in_ksymtab))
+		   is_in_ksymtab,
+		   is_suppressed))
 {}
 
 /// Factory of instances of @ref elf_symbol.
@@ -1469,11 +1475,12 @@ elf_symbol::create(const environment* e,
 		   const version&     ve,
 		   visibility	      vi,
 		   bool		      is_linux_string_cst,
-		   bool		      is_in_ksymtab)
+		   bool		      is_in_ksymtab,
+		   bool		      is_suppressed)
 {
   elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
 				     is_linux_string_cst,
-				     is_in_ksymtab));
+				     is_in_ksymtab, is_suppressed));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1701,6 +1708,14 @@ void
 elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
 {priv_->is_in_ksymtab_ = is_in_ksymtab;}
 
+bool
+elf_symbol::is_suppressed() const
+{return priv_->is_suppressed_;}
+
+void
+elf_symbol::set_is_suppressed(bool is_suppressed)
+{priv_->is_suppressed_ = is_suppressed;}
+
 /// @name Elf symbol aliases
 ///
 /// An alias A for an elf symbol S is a symbol that is defined at the
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 05/21] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (3 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 04/21] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 06/21] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
                     ` (16 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

abg-symtab-reader.{h,cc} shall contain the refactored symtab reader.
Create the stub files, an empty unit test and hook everything up in the
make system.

    * include/abg-symtab-reader.h: New header file.
    * include/Makefile.am: Add new header file abg-symtab-reader.h.
    * src/Makefile.am: Add new source file abg-symtab-reader.cc.
    * src/abg-symtab-reader.cc: New source file.
    * tests/Makefile.am: Add new test case runtestsymtabreader.
    * tests/test-symtab-reader.cc: New test source file.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/Makefile.am         |  3 ++-
 include/abg-symtab-reader.h | 39 +++++++++++++++++++++++++++++++++++++
 src/Makefile.am             |  1 +
 src/abg-symtab-reader.cc    | 36 ++++++++++++++++++++++++++++++++++
 tests/Makefile.am           |  4 ++++
 tests/test-symtab-reader.cc | 30 ++++++++++++++++++++++++++++
 6 files changed, 112 insertions(+), 1 deletion(-)
 create mode 100644 include/abg-symtab-reader.h
 create mode 100644 src/abg-symtab-reader.cc
 create mode 100644 tests/test-symtab-reader.cc

diff --git a/include/Makefile.am b/include/Makefile.am
index b547525238ec..639906aafe5b 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -25,6 +25,7 @@ abg-version.h		\
 abg-viz-common.h	\
 abg-viz-dot.h		\
 abg-viz-svg.h		\
-abg-regex.h
+abg-regex.h		\
+abg-symtab-reader.h
 
 EXTRA_DIST = abg-version.h.in
diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h
new file mode 100644
index 000000000000..b61e6399fe93
--- /dev/null
+++ b/include/abg-symtab-reader.h
@@ -0,0 +1,39 @@
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// This file is part of the GNU Application Binary Interface Generic
+// Analysis and Instrumentation Library (libabigail).  This library is
+// free software; you can redistribute it and/or modify it under the
+// terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option) any
+// later version.
+
+// This library is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Lesser Public License for more details.
+
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; see the file COPYING-LGPLV3.  If
+// not, see <http://www.gnu.org/licenses/>.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This contains the declarations for the symtab reader.
+
+#ifndef __ABG_SYMTAB_READER_H__
+#define __ABG_SYMTAB_READER_H__
+
+namespace abigail
+{
+
+namespace symtab_reader
+{
+
+} // end namespace symtab_reader
+} // end namespace abigail
+
+#endif // __ABG_SYMTAB_READER_H__
diff --git a/src/Makefile.am b/src/Makefile.am
index 1153a5f8b158..dff17d9c02c1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -41,6 +41,7 @@ abg-tools-utils.cc			\
 abg-elf-helpers.h			\
 abg-elf-helpers.cc			\
 abg-regex.cc				\
+abg-symtab-reader.cc			\
 $(CXX11_SOURCES)
 
 libabigail_la_LIBADD = $(DEPS_LIBS)
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
new file mode 100644
index 000000000000..1f934d3a7609
--- /dev/null
+++ b/src/abg-symtab-reader.cc
@@ -0,0 +1,36 @@
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// This file is part of the GNU Application Binary Interface Generic
+// Analysis and Instrumentation Library (libabigail).  This library is
+// free software; you can redistribute it and/or modify it under the
+// terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option) any
+// later version.
+
+// This library is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Lesser Public License for more details.
+
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; see the file COPYING-LGPLV3.  If
+// not, see <http://www.gnu.org/licenses/>.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This contains the definition of the symtab reader
+
+#include "abg-symtab-reader.h"
+
+namespace abigail
+{
+
+namespace symtab_reader
+{
+
+} // end namespace symtab_reader
+} // end namespace abigail
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c2d4d1dc5d35..068725326b75 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -50,6 +50,7 @@ runtestkmiwhitelist		\
 runtestlookupsyms		\
 runtestreadwrite		\
 runtestsymtab			\
+runtestsymtabreader		\
 runtesttoolsutils		\
 $(FEDABIPKGDIFF_TEST) 		\
 $(ZIP_ARCHIVE_TESTS)		\
@@ -158,6 +159,9 @@ runtestcxxcompat_LDADD = libcatch.la $(top_builddir)/src/libabigail.la
 runtestsymtab_SOURCES = test-symtab.cc
 runtestsymtab_LDADD = libtestutils.la libcatch.la $(top_builddir)/src/libabigail.la
 
+runtestsymtabreader_SOURCES = test-symtab-reader.cc
+runtestsymtabreader_LDADD = libcatch.la $(top_builddir)/src/libabigail.la
+
 runtestsvg_SOURCES=test-svg.cc
 runtestsvg_LDADD=$(top_builddir)/src/libabigail.la
 
diff --git a/tests/test-symtab-reader.cc b/tests/test-symtab-reader.cc
new file mode 100644
index 000000000000..c2e30d661017
--- /dev/null
+++ b/tests/test-symtab-reader.cc
@@ -0,0 +1,30 @@
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// This file is part of the GNU Application Binary Interface Generic
+// Analysis and Instrumentation Library (libabigail).  This library is
+// free software; you can redistribute it and/or modify it under the
+// terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option) any
+// later version.
+
+// This library is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Lesser Public License for more details.
+
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; see the file COPYING-LGPLV3.  If
+// not, see <http://www.gnu.org/licenses/>.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This program tests libabigail's symtab reader.
+
+#include "lib/catch.hpp"
+
+#include "abg-symtab-reader.h"
+
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 06/21] Refactor ELF symbol table reading by adding a new symtab reader
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (4 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 05/21] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-20 15:39     ` Dodji Seketeli
  2020-07-03 16:46   ` [PATCH v2 07/21] Integrate new symtab reader into corpus and read_context Matthias Maennich
                     ` (15 subsequent siblings)
  21 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Based on existing functionality, implement the reading of ELF symbol
tables as a separate component. This reduces the complexity of
abg-dwarf-reader's read_context by separating and delegating the
functionality. This also allows dedicated testing.

The new namespace symtab_reader contains a couple of new components that
work loosely coupled together. Together they allow for a consistent view
on a symbol table. With filter criteria those views can be restricted,
iterated and consistent lookup maps can be built on top of them. While
this implementation tries to address some shortcomings of the previous
model, it still provides the high level interfaces to the symbol table
contents through sorted iterating and name/address mapped access.

symtab_reader::symtab

  While the other classes in the same namespace are merely helpers, this
  is the main implementation of symtab reading and storage.
  Symtab objects are factory created to ensure a consistent construction
  and valid invariants. Thus a symtab will be loaded by either passing
  an ELF handle (when reading from binary) or by passing a set of
  function/variable symbol maps (when reading from XML).
  When constructed they are considered const and are not writable
  anymore. As such, all public methods are const.

  The load reuses the existing implementation for loading symtab
  sections, but since the new implementation does not distinguish
  between functions and variables, the code could be simplified. The
  support for ppc64 function entry addresses has been deferred to a
  later commit.

  Linux Kernel symbol tables are now directly loaded by name when
  encountering symbols prefixed with the __ksymtab_ as per convention.
  This has been tricky in the past due to various different binary
  layouts (relocations, position relative relocations, symbol
  namespaces, CFI indirections, differences between vmlinux and kernel
  modules). Thus the new implementation is much simpler and is less
  vulnerable to future ksymtab changes. As we are also not looking up
  the Kernel symbols by addresses, we could resolve shortcomings with
  symbol aliasing: Previously a symbol and its alias were
  indistinguishable as they are having the same symbol address. We could
  not identify the one that is actually exported via ksymtab.

  One major architectural difference of this implementation is that we
  do not early discard suppressed symbols. While we keep them out of the
  vector of exported symbols, we still make them available for lookup.
  That helps addressing issues when looking up a symbol by address (e.g.
  from the ksymtab read implementation) that is suppressed. That would
  fail in the existing implementation.

  Still, we intend to only instantiate each symbol once and pass around
  shared_ptr instances to refer to it from the vector as well as from
  the lookup maps.

  For reading, there are two access paths that serve the existing
  patterns:
	1) lookup_symbol: either via a name or an address
	2) filtered iteration with begin(), end()

  The former is used for direct access with a clue in hand (like a name
  or an address), the latter is used for iteration (e.g. when emitting
  the XML).

symtab_reader::symtab_iterator

  The symtab_iterator is an STL compatible iterator that is returned
  from begin() and end() of the symtab. It allows usual forward iterator
  operations and can optionally take a filter predicate to skip non
  matching elements.

symtab_reader::symtab_filter

  The symtab_filter serves as a predicate for the symtab_iterator by
  providing a matches(const elf_symbol_sptr&) function.  The predicate
  is built by ANDing together several conditions on attributes a symbol
  can have. The filter conditions are implemented in terms of
  std::optional<bool> members to allow a tristate: "needs to have the
  condition set", "must not have it set" and "don't care".

symtab_reader::symtab_filter_builder

  This is a convenient way of building filters with a builder pattern
  and a fluent interface. Hence, filters can be expressed neatly,
  expressive and precise. When instantiated, via symtab::make_filter(),
  the filter_builder is preset with suitable defaults. The
  filter_builder is convertable to a symtab_filter by passing on the
  local filter copy and therefore serving the fluent interface.

symtab_reader::filtered_symtab

  The filtered_symtab is a convenience zero cost abstraction that allows
  prepopulating the symtab_filter (call it a capture) such that begin()
  and end() are now accessible without the need to pass the filter
  again. Argumentless begin() and end() are a requirement for range-for
  loops and other STL based algorithms.

	* include/abg-symtab-reader.h (symtab_filter): New class.
	(symtab_filter_builder): Likewise.
	(symtab_iterator): Likewise.
	(symtab): Likewise.
	(filtered_symtab): Likewise.
	* src/abg-symtab-reader.cc (symtab_filter::matches): New.
	(symtab::make_filter): Likewise.
	(symtab::lookup_symbol): Likewise.
	(symbol_sort): Likewise.
	(symtab::load): Likewise.
	(symtab::load_): Likewise.
	* tests/test-symtab-reader.cc
	(default filter matches anything): New test case.
	(default filter built with filter_builder matches anything): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-symtab-reader.h | 371 +++++++++++++++++++++++++++++++++++-
 src/abg-symtab-reader.cc    | 313 ++++++++++++++++++++++++++++++
 tests/test-symtab-reader.cc |  23 +++
 3 files changed, 706 insertions(+), 1 deletion(-)

diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h
index b61e6399fe93..86335617d46a 100644
--- a/include/abg-symtab-reader.h
+++ b/include/abg-symtab-reader.h
@@ -27,12 +27,381 @@
 #ifndef __ABG_SYMTAB_READER_H__
 #define __ABG_SYMTAB_READER_H__
 
+#include <gelf.h>
+
+#include <iterator>
+#include <vector>
+
+#include "abg-cxx-compat.h"
+#include "abg-ir.h"
+
 namespace abigail
 {
-
 namespace symtab_reader
 {
 
+class symtab_filter_builder;
+
+/// The symtab filter is the object passed to the symtab object in order to
+/// iterate over the symbols in the symtab while applying filters.
+///
+/// The general idea is that it consists of a set of optionally enforced flags,
+/// such as 'functions' or 'variables'. If not set, those are not filtered for,
+/// neither inclusive nor exclusive. If set they are all ANDed together.
+class symtab_filter
+{
+public:
+  // The symtab_filter_builder helps us to build filters efficiently, hence
+  // let's be nice and grant access to our internals.
+  friend class symtab_filter_builder;
+
+  // Default constructor disabling all features.
+  symtab_filter() {}
+
+  /// Determine whether a symbol is matching the filter criteria of this filter
+  /// object. In terms of a filter functionality, you would _not_ filter out
+  /// this symbol if it passes this (i.e. returns true).
+  ///
+  /// @param symbol The Elf symbol under test.
+  ///
+  /// @return whether the symbol matches all relevant / required criteria
+  bool
+  matches(const elf_symbol_sptr& symbol) const;
+
+private:
+  // The symbol is a function (FUNC)
+  abg_compat::optional<bool> functions_;
+
+  // The symbol is a variables (OBJECT)
+  abg_compat::optional<bool> variables_;
+
+  // The symbol is publicly accessible (global/weak with default/protected
+  // visibility)
+  abg_compat::optional<bool> public_symbols_;
+
+  // The symbols is not defined (declared)
+  abg_compat::optional<bool> undefined_symbols_;
+
+  // The symbol is listed in the ksymtab (for Linux Kernel binaries).
+  abg_compat::optional<bool> kernel_symbols_;
+};
+
+/// Helper class to provide an attractive interface to build symtab_filters.
+///
+/// When constructed, the helper instantiates a default symtab_filter and
+/// allows modifications to it via builder pattern / fluent interface.
+///
+/// When assigned to a symtab_filter instance, it converts by returning the
+/// locally build symtab_filter instance.
+///
+/// Example usage:
+///
+///   const symtab_filter filter =
+///                symtab_filter_builder().functions().kernel_symbols();
+///
+/// In that case we would filter for the conjunction of function symbols that
+/// also appear in the ksymtab (i.e. kernel symbols).
+class symtab_filter_builder
+{
+public:
+  /// Enable inclusive / exclusive filtering for functions.
+  symtab_filter_builder&
+  functions(bool value = true)
+  { filter_.functions_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for variables.
+  symtab_filter_builder&
+  variables(bool value = true)
+  { filter_.variables_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for public symbols.
+  symtab_filter_builder&
+  public_symbols(bool value = true)
+  { filter_.public_symbols_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for undefined symbols.
+  symtab_filter_builder&
+  undefined_symbols(bool value = true)
+  { filter_.undefined_symbols_ = value; return *this; }
+
+  /// Enable inclusive / exclusive filtering for kernel symbols.
+  symtab_filter_builder&
+  kernel_symbols(bool value = true)
+  { filter_.kernel_symbols_ = value; return *this; }
+
+  /// Convert seamlessly to a symtab_filter instance.
+  ///
+  /// We could possibly validate the filter constellations here. For now, we
+  /// just return the local filter instance.
+  operator symtab_filter() { return filter_; }
+
+private:
+  /// Local symtab_filter instance that we build and eventually pass on.
+  symtab_filter filter_;
+};
+
+/// Base iterator for our custom iterator based on whatever the const_iterator
+/// is for a vector of symbols.
+/// As of writing this, std::vector<elf_symbol_sptr>::const_iterator.
+typedef elf_symbols::const_iterator base_iterator;
+
+/// An iterator to walk a vector of elf_symbols filtered by symtab_filter.
+///
+/// The implementation inherits all properties from the vector's
+/// const_iterator, but intercepts where necessary to allow effective
+/// filtering. This makes it a STL compatible iterator for general purpose
+/// usage.
+class symtab_iterator : public base_iterator
+{
+public:
+  typedef base_iterator::value_type	 value_type;
+  typedef base_iterator::reference	 reference;
+  typedef base_iterator::pointer	 pointer;
+  typedef base_iterator::difference_type difference_type;
+  typedef std::forward_iterator_tag	 iterator_category;
+
+  /// Construct the iterator based on a pair of underlying iterators and a
+  /// symtab_filter object. Immediately fast forward to the next element that
+  /// matches the criteria (if any).
+  symtab_iterator(base_iterator	       begin,
+		  base_iterator	       end,
+		  const symtab_filter& filter = symtab_filter())
+    : base_iterator(begin), end_(end), filter_(filter)
+  { skip_to_next(); }
+
+  /// Pre-increment operator to advance to the next matching element.
+  symtab_iterator&
+  operator++()
+  {
+    base_iterator::operator++();
+    skip_to_next();
+    return *this;
+  }
+
+  /// Post-increment operator to advance to the next matching element.
+  symtab_iterator
+  operator++(int)
+  {
+    symtab_iterator result(*this);
+    ++(*this);
+    return result;
+  }
+
+private:
+  /// The end of the underlying iterator.
+  const base_iterator end_;
+
+  /// The symtab_filter used to determine when to advance.
+  const symtab_filter& filter_;
+
+  /// Skip to the next element that matches the filter criteria (if any). Hold
+  /// off when reaching the end of the underlying iterator.
+  void
+  skip_to_next()
+  {
+    while (*this != end_ && !filter_.matches(**this))
+      ++(*this);
+  }
+};
+
+/// Convenience declaration of a shared_ptr<symtab>
+class symtab;
+typedef abg_compat::shared_ptr<symtab> symtab_sptr;
+
+/// symtab is the actual data container of the symtab_reader implementation.
+///
+/// The symtab is instantiated either via an Elf handle (from binary) or from a
+/// set of existing symbol maps (usually when instantiated from XML). It will
+/// then discover the symtab, possibly the ksymtab (for Linux Kernel binaries)
+/// and setup the data containers and lookup maps for later perusal.
+///
+/// The symtab is supposed to be used in a const context as all information is
+/// already computed at construction time. Symbols are stored sorted to allow
+/// deterministic reading of the entries.
+///
+/// An example use of the symtab class is
+///
+/// const symtab_sptr   tab    = symtab::load(elf_handle, env);
+/// const symtab_filter filter = tab->make_filter()
+///                              .public_symbols()
+///                              .functions();
+///
+/// for (symtab::const_iterator I = tab.begin(filter), E = tab.end();
+///                             I != E; ++I)
+///   {
+///       std::cout << (*I)->get_name() << "\n";
+///   }
+///
+/// C++11 and later allows a more brief syntax for the same:
+///
+///   for (const auto& symbol : filtered_symtab(*tab, filter))
+///     {
+///       std::cout << symbol->get_name() << "\n";
+///     }
+///
+/// This uses the filtered_symtab proxy object to capture the filter.
+class symtab
+{
+public:
+  typedef abg_compat::function<bool(const elf_symbol_sptr&)> symbol_predicate;
+
+  /// Indicate whether any (kernel) symbols have been seen at construction.
+  ///
+  /// @return true if there are symbols detected earlier.
+  bool
+  has_symbols() const
+  { return is_kernel_binary_ ? has_ksymtab_entries_ : !symbols_.empty(); }
+
+  /// Obtain a suitable default filter for iterating this symtab object.
+  ///
+  /// The symtab_filter_build obtained is populated with some sensible default
+  /// settings, such as public_symbols(true) and kernel_symbols(true) if the
+  /// binary has been identified as Linux Kernel binary.
+  ///
+  /// @return a symtab_filter_builder with sensible populated defaults
+  symtab_filter_builder
+  make_filter() const;
+
+  /// The (only) iterator type we offer is a const_iterator implemented by the
+  /// symtab_iterator.
+  typedef symtab_iterator const_iterator;
+
+  /// Obtain an iterator to the beginning of the symtab according to the filter
+  /// criteria. Whenever this iterator advances, it skips elements that do not
+  /// match the filter criteria.
+  ///
+  /// @param filter the symtab_filter to match symbols against
+  ///
+  /// @return a filtering const_iterator of the underlying type
+  const_iterator
+  begin(const symtab_filter& filter) const
+  { return symtab_iterator(symbols_.begin(), symbols_.end(), filter); }
+
+  /// Obtain an iterator to the end of the symtab.
+  ///
+  /// @return an end iterator
+  const_iterator
+  end() const
+  { return symtab_iterator(symbols_.end(), symbols_.end()); }
+
+  /// Get a vector of symbols that are associated with a certain name
+  ///
+  /// @param name the name the symbols need to match
+  ///
+  /// @return a vector of symbols, empty if no matching symbols have been found
+  const elf_symbols&
+  lookup_symbol(const std::string& name) const;
+
+  /// Lookup a symbol by its address
+  ///
+  /// @param symbol_addr the starting address of the symbol
+  ///
+  /// @return a symbol if found, else an empty sptr
+  const elf_symbol_sptr&
+  lookup_symbol(GElf_Addr symbol_addr) const;
+
+  /// Construct a symtab object and instantiate from an ELF handle. Also pass
+  /// in an ir::environment handle to interact with the context we are living
+  /// in. If specified, the symbol_predicate will be respected when creating
+  /// the full vector of symbols.
+  static symtab_sptr
+  load(Elf*		elf_handle,
+       ir::environment* env,
+       symbol_predicate is_suppressed = NULL);
+
+  /// Construct a symtab object from existing name->symbol lookup maps.
+  /// They were possibly read from a different representation (XML maybe).
+  static symtab_sptr
+  load(string_elf_symbols_map_sptr function_symbol_map,
+       string_elf_symbols_map_sptr variables_symbol_map);
+
+private:
+  /// Default constructor. Private to enforce creation by factory methods.
+  symtab();
+
+  /// The vector of symbols we discovered.
+  elf_symbols symbols_;
+
+  /// Whether this is a Linux Kernel binary
+  bool is_kernel_binary_;
+
+  /// Whether this kernel_binary has ksymtab entries
+  ///
+  /// A kernel module might not have a ksymtab if it does not export any
+  /// symbols. In order to quickly decide whether the symbol table is empty, we
+  /// remember whether we ever saw ksymtab entries.
+  bool has_ksymtab_entries_;
+
+  /// Lookup map name->symbol(s)
+  typedef abg_compat::unordered_map<std::string, std::vector<elf_symbol_sptr> >
+		       name_symbol_map_type;
+  name_symbol_map_type name_symbol_map_;
+
+  /// Lookup map name->symbol
+  typedef abg_compat::unordered_map<GElf_Addr, elf_symbol_sptr>
+		       addr_symbol_map_type;
+  addr_symbol_map_type addr_symbol_map_;
+
+  /// Load the symtab representation from an Elf binary presented to us by an
+  /// Elf* handle.
+  ///
+  /// This method iterates over the entries of .symtab and collects all
+  /// interesting symbols (functions and variables).
+  ///
+  /// In case of a Linux Kernel binary, it also collects information about the
+  /// symbols exported via EXPORT_SYMBOL in the Kernel that would then end up
+  /// having a corresponding __ksymtab entry.
+  ///
+  /// Symbols that are suppressed will be omitted from the symbols_ vector, but
+  /// still be discoverable through the name->symbol and addr->symbol lookup
+  /// maps.
+  bool
+  load_(Elf* elf_handle, ir::environment* env, symbol_predicate is_suppressed);
+
+  /// Load the symtab representation from a function/variable lookup map pair.
+  ///
+  /// This method assumes the lookup maps are correct and sets up the data
+  /// vector as well as the name->symbol lookup map. The addr->symbol lookup
+  /// map cannot be set up in this case.
+  bool
+  load_(string_elf_symbols_map_sptr function_symbol_map,
+       string_elf_symbols_map_sptr variables_symbol_map);
+};
+
+/// Helper class to allow range-for loops on symtabs for C++11 and later code.
+/// It serves as a proxy for the symtab iterator and provides a begin() method
+/// without arguments, as required for range-for loops (and possibly other
+/// iterator based transformations).
+///
+/// Example usage:
+///
+///   for (const auto& symbol : filtered_symtab(tab, filter))
+///     {
+///       std::cout << symbol->get_name() << "\n";
+///     }
+///
+class filtered_symtab
+{
+  const symtab&	      tab_;
+  const symtab_filter filter_;
+
+public:
+  /// Construct the proxy object keeping references to the underlying symtab
+  /// and the filter object.
+  filtered_symtab(const symtab& tab, const symtab_filter& filter)
+    : tab_(tab), filter_(filter) { }
+
+  /// Pass through symtab.begin(), but also pass on the filter.
+  symtab::const_iterator
+  begin() const
+  { return tab_.begin(filter_); }
+
+  /// Pass through symtab.end().
+  symtab::const_iterator
+  end() const
+  { return tab_.end(); }
+};
+
 } // end namespace symtab_reader
 } // end namespace abigail
 
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index 1f934d3a7609..c98b9174490c 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -1,5 +1,6 @@
 // -*- Mode: C++ -*-
 //
+// Copyright (C) 2013-2020 Red Hat, Inc.
 // Copyright (C) 2020 Google, Inc.
 //
 // This file is part of the GNU Application Binary Interface Generic
@@ -24,7 +25,18 @@
 ///
 /// This contains the definition of the symtab reader
 
+#include <algorithm>
+#include <iostream>
+
+#include "abg-cxx-compat.h"
+#include "abg-elf-helpers.h"
+#include "abg-fwd.h"
+#include "abg-internal.h"
+#include "abg-tools-utils.h"
+
+ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-symtab-reader.h"
+ABG_END_EXPORT_DECLARATIONS
 
 namespace abigail
 {
@@ -32,5 +44,306 @@ namespace abigail
 namespace symtab_reader
 {
 
+/// symtab_filter implementations
+
+bool
+symtab_filter::matches(const elf_symbol_sptr& symbol) const
+{
+  if (functions_ && *functions_ != symbol->is_function())
+    return false;
+  if (variables_ && *variables_ != symbol->is_variable())
+    return false;
+  if (public_symbols_ && *public_symbols_ != symbol->is_public())
+    return false;
+  if (undefined_symbols_ && *undefined_symbols_ == symbol->is_defined())
+    return false;
+  if (kernel_symbols_ && *kernel_symbols_ != symbol->is_in_ksymtab())
+    return false;
+
+  return true;
+}
+
+/// symtab implementations
+
+symtab_filter_builder
+symtab::make_filter() const
+{
+  symtab_filter_builder builder;
+  builder.public_symbols();
+  if (is_kernel_binary_)
+    builder.kernel_symbols();
+  return builder;
+}
+
+const elf_symbols&
+symtab::lookup_symbol(const std::string& name) const
+{
+  static const elf_symbols empty_result;
+  const name_symbol_map_type::const_iterator it = name_symbol_map_.find(name);
+  if (it != name_symbol_map_.end())
+    {
+      return it->second;
+    }
+  return empty_result;
+}
+
+const elf_symbol_sptr&
+symtab::lookup_symbol(GElf_Addr symbol_addr) const
+{
+  static const elf_symbol_sptr empty_result;
+  const addr_symbol_map_type::const_iterator it =
+      addr_symbol_map_.find(symbol_addr);
+  if (it != addr_symbol_map_.end())
+    {
+      return it->second;
+    }
+  return empty_result;
+}
+
+/// A symbol sorting functor.
+static struct
+{
+  bool
+  operator()(const elf_symbol_sptr& left, const elf_symbol_sptr& right)
+  { return left->get_id_string() < right->get_id_string(); }
+} symbol_sort;
+
+symtab_sptr
+symtab::load(Elf*	      elf_handle,
+	     ir::environment* env,
+	     symbol_predicate is_suppressed)
+{
+  ABG_ASSERT(elf_handle);
+  ABG_ASSERT(env);
+
+  symtab_sptr result(new symtab);
+  if (!result->load_(elf_handle, env, is_suppressed))
+    return symtab_sptr();
+
+  return result;
+}
+
+symtab_sptr
+symtab::load(string_elf_symbols_map_sptr function_symbol_map,
+	     string_elf_symbols_map_sptr variables_symbol_map)
+{
+  symtab_sptr result(new symtab);
+  if (!result->load_(function_symbol_map, variables_symbol_map))
+    return symtab_sptr();
+
+  return result;
+}
+
+symtab::symtab() : is_kernel_binary_(false), has_ksymtab_entries_(false) {}
+
+bool
+symtab::load_(Elf*	       elf_handle,
+	      ir::environment* env,
+	      symbol_predicate is_suppressed)
+{
+
+  Elf_Scn* symtab_section = elf_helpers::find_symbol_table_section(elf_handle);
+  if (!symtab_section)
+    {
+      std::cerr << "No symbol table found: Skipping symtab load.\n";
+      return false;
+    }
+
+  GElf_Shdr symtab_sheader;
+  gelf_getshdr(symtab_section, &symtab_sheader);
+
+  // check for bogus section header
+  if (symtab_sheader.sh_entsize == 0)
+    {
+      std::cerr << "Invalid symtab header found: Skipping symtab load.\n";
+      return false;
+    }
+
+  const size_t number_syms =
+      symtab_sheader.sh_size / symtab_sheader.sh_entsize;
+
+  Elf_Data* symtab = elf_getdata(symtab_section, 0);
+  if (!symtab)
+    {
+      std::cerr << "Could not load elf symtab: Skipping symtab load.\n";
+      return false;
+    }
+
+  const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
+  abg_compat::unordered_set<std::string> exported_kernel_symbols;
+
+  for (size_t i = 0; i < number_syms; ++i)
+    {
+      GElf_Sym *sym, sym_mem;
+      sym = gelf_getsym(symtab, i, &sym_mem);
+      if (!sym)
+	{
+	  std::cerr << "Could not load symbol with index " << i
+		    << ": Skipping symtab load.\n";
+	  return false;
+	}
+
+      const char* name_str =
+	  elf_strptr(elf_handle, symtab_sheader.sh_link, sym->st_name);
+
+      // no name, no game
+      if (!name_str)
+	continue;
+
+      // Handle ksymtab entries. Every symbol entry that starts with __ksymtab_
+      // indicates that the symbol in question is exported through ksymtab. We
+      // do not know whether this is ksymtab_gpl or ksymtab, but that is good
+      // enough for now.
+      //
+      // We could follow up with this entry:
+      //
+      // symbol_value -> ksymtab_entry in either ksymtab_gpl or ksymtab
+      //              -> addr/name/namespace (in case of PREL32: offset)
+      //
+      // That way we could also detect ksymtab<>ksymtab_gpl changes or changes
+      // of the symbol namespace.
+      //
+      // As of now this lookup is fragile, as occasionally ksymtabs are empty
+      // (seen so far for kernel modules and LTO builds). Hence we stick to the
+      // fairly safe assumption that ksymtab exported entries are having an
+      // appearence as __ksymtab_<symbol> in the symtab.
+      const std::string name = name_str;
+      if (is_kernel && name.rfind("__ksymtab_", 0) == 0)
+	{
+	  ABG_ASSERT(exported_kernel_symbols.insert(name.substr(10)).second);
+	  continue;
+	}
+
+      // filter out uninteresting entries and only keep functions/variables for
+      // now. The rest might be interesting in the future though.
+      const int sym_type = GELF_ST_TYPE(sym->st_info);
+      if (!(sym_type == STT_FUNC
+	    || sym_type == STT_GNU_IFUNC
+	    // If the symbol is for an OBJECT, the index of the
+	    // section it refers to cannot be absolute.
+	    // Otherwise that OBJECT is not a variable.
+	    || (sym_type == STT_OBJECT && sym->st_shndx != SHN_ABS)
+	    || sym_type == STT_TLS))
+	continue;
+
+      const bool sym_is_defined = sym->st_shndx != SHN_UNDEF;
+      // this occurs in relocatable files.
+      const bool sym_is_common = sym->st_shndx == SHN_COMMON;
+
+      elf_symbol::version ver;
+      elf_helpers::get_version_for_symbol(elf_handle, i, sym_is_defined, ver);
+
+      const elf_symbol_sptr& symbol_sptr = elf_symbol::create(
+	  env, i, sym->st_size, name,
+	  elf_helpers::stt_to_elf_symbol_type(GELF_ST_TYPE(sym->st_info)),
+	  elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)),
+	  sym_is_defined, sym_is_common, ver,
+	  elf_helpers::stv_to_elf_symbol_visibility(
+	      GELF_ST_VISIBILITY(sym->st_other)),
+	  false); // TODO: is_linux_strings_cstr
+
+      // We do not take suppressed symbols into our symbol vector to avoid
+      // accidental leakage. But we ensure supressed symbols are otherwise set
+      // up for lookup.
+      if (!(is_suppressed && is_suppressed(symbol_sptr)))
+	// add to the symbol vector
+	symbols_.push_back(symbol_sptr);
+      else
+	symbol_sptr->set_is_suppressed(true);
+
+      // add to the name->symbol lookup
+      name_symbol_map_[name].push_back(symbol_sptr);
+
+      // add to the addr->symbol lookup
+      if (symbol_sptr->is_common_symbol())
+	{
+	  const name_symbol_map_type::iterator it =
+	      name_symbol_map_.find(name);
+	  ABG_ASSERT(it != name_symbol_map_.end());
+	  const elf_symbols& common_sym_instances = it->second;
+	  ABG_ASSERT(!common_sym_instances.empty());
+	  if (common_sym_instances.size() > 1)
+	    {
+	      elf_symbol_sptr main_common_sym = common_sym_instances[0];
+	      ABG_ASSERT(main_common_sym->get_name() == name);
+	      ABG_ASSERT(main_common_sym->is_common_symbol());
+	      ABG_ASSERT(symbol_sptr.get() != main_common_sym.get());
+	      main_common_sym->add_common_instance(symbol_sptr);
+	    }
+	}
+      else if (symbol_sptr->is_defined())
+	{
+	  const GElf_Addr symbol_value =
+	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
+								    sym);
+
+	  const std::pair<addr_symbol_map_type::const_iterator, bool> result =
+	      addr_symbol_map_.insert(
+		  std::make_pair(symbol_value, symbol_sptr));
+	  if (!result.second)
+	    result.first->second->get_main_symbol()->add_alias(symbol_sptr);
+	}
+    }
+
+  is_kernel_binary_ = elf_helpers::is_linux_kernel(elf_handle);
+
+  // Now apply the ksymtab_exported attribute to the symbols we collected.
+  for (abg_compat::unordered_set<std::string>::const_iterator
+	   it = exported_kernel_symbols.begin(),
+	   en = exported_kernel_symbols.end();
+       it != en; ++it)
+    {
+      const name_symbol_map_type::const_iterator r =
+	  name_symbol_map_.find(*it);
+      if (r == name_symbol_map_.end())
+	continue;
+
+      for (elf_symbols::const_iterator sym_it = r->second.begin(),
+				       sym_end = r->second.end();
+	   sym_it != sym_end; ++sym_it)
+	{
+	  if ((*sym_it)->is_public())
+	    (*sym_it)->set_is_in_ksymtab(true);
+	}
+      has_ksymtab_entries_ = true;
+    }
+
+  // sort the symbols for deterministic output
+  std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
+
+  return true;
+}
+
+bool
+symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
+	     string_elf_symbols_map_sptr variables_symbol_map)
+
+{
+  if (function_symbol_map)
+    for (string_elf_symbols_map_type::const_iterator
+	     it = function_symbol_map->begin(),
+	     end = function_symbol_map->end();
+	 it != end; ++it)
+      {
+	symbols_.insert(symbols_.end(), it->second.begin(), it->second.end());
+	ABG_ASSERT(name_symbol_map_.insert(*it).second);
+      }
+
+  if (variables_symbol_map)
+    for (string_elf_symbols_map_type::const_iterator
+	     it = variables_symbol_map->begin(),
+	     end = variables_symbol_map->end();
+	 it != end; ++it)
+      {
+	symbols_.insert(symbols_.end(), it->second.begin(), it->second.end());
+	ABG_ASSERT(name_symbol_map_.insert(*it).second);
+      }
+
+  // sort the symbols for deterministic output
+  std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
+
+  return true;
+}
+
 } // end namespace symtab_reader
 } // end namespace abigail
diff --git a/tests/test-symtab-reader.cc b/tests/test-symtab-reader.cc
index c2e30d661017..383166c88875 100644
--- a/tests/test-symtab-reader.cc
+++ b/tests/test-symtab-reader.cc
@@ -28,3 +28,26 @@
 
 #include "abg-symtab-reader.h"
 
+namespace abigail
+{
+
+using symtab_reader::symtab_filter;
+using symtab_reader::symtab_filter_builder;
+
+TEST_CASE("default symtab_filter matches anything",
+	  "[symtab_reader, symtab_filter]")
+{
+  const symtab_filter	  filter;
+  const elf_symbol_sptr symbol; // not initialized!
+  CHECK(filter.matches(symbol));
+}
+
+TEST_CASE("default symtab_filter built with filter_builder matches anything",
+	  "[symtab_reader, symtab_filter, symtab_filter_builder]")
+{
+  const symtab_filter filter = symtab_filter_builder();
+  const elf_symbol_sptr symbol; // not initialized!
+  CHECK(filter.matches(symbol));
+}
+
+} // namespace abigail
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 07/21] Integrate new symtab reader into corpus and read_context
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (5 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 06/21] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 08/21] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
                     ` (14 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

While reading the corpus in the read_context, also load the new type
symtab object side-by-side and set it accordingly in the resulting
corpus. This is still side by side and passive code that gets active in
the following changes. This is applicable for the dwarf reader as well
as for the reader that consumes XML.

	* include/abg-corpus.h (corpus::set_symtab): New method declaration.
	  (corpus::get_symtab): New method declaration.
	* include/abg-fwd.h (symtab_reader::symtab_sptr): New forward
	  declaration.
	* src/abg-corpus-priv.h (corpus::priv::symtab_): New data member.
	* src/abg-corpus.cc
	  (corpus::set_symtab): Likewise.
	  (corpus::get_symtab): Likewise.
	* src/abg-dwarf-reader.cc (read_context::symtab_): New data member.
	  (read_context::initialize): reset symtab_ as well
	  (read_context::symtab): new method that loads a symtab on
	  first access and returns it.
	  (read_debug_info_into_corpus): also set the new symtab object
	  on the current corpus.
	  (read_corpus_from_elf): Also determine (i.e. load) the new
	  symtab object and contribute to the load status.
	* src/abg-reader.cc (read_corpus_from_input): also set the new
	  type symtab when reading from xml.
	* tests/test-symtab.cc: Add test assertions.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-corpus.h                          |   6 ++++
 include/abg-fwd.h                             |   8 ++++++
 src/abg-corpus-priv.h                         |   2 ++
 src/abg-corpus.cc                             |   9 ++++++
 src/abg-dwarf-reader.cc                       |  27 ++++++++++++++++++
 src/abg-reader.cc                             |   3 ++
 tests/data/test-symtab/basic/no_debug_info.c  |   2 +-
 tests/data/test-symtab/basic/no_debug_info.so | Bin 15360 -> 15544 bytes
 tests/test-symtab.cc                          |  15 ++++------
 9 files changed, 61 insertions(+), 11 deletions(-)

diff --git a/include/abg-corpus.h b/include/abg-corpus.h
index 410a9c2459e6..b94926996cde 100644
--- a/include/abg-corpus.h
+++ b/include/abg-corpus.h
@@ -169,6 +169,12 @@ public:
   bool
   operator==(const corpus&) const;
 
+  void
+  set_symtab(symtab_reader::symtab_sptr);
+
+  const symtab_reader::symtab_sptr&
+  get_symtab() const;
+
   void
   set_fun_symbol_map(string_elf_symbols_map_sptr);
 
diff --git a/include/abg-fwd.h b/include/abg-fwd.h
index 999b071b5664..07ab0b9f163e 100644
--- a/include/abg-fwd.h
+++ b/include/abg-fwd.h
@@ -1331,6 +1331,14 @@ typedef vector<suppression_sptr> suppressions_type;
 
 } // end namespace suppr
 
+namespace symtab_reader
+{
+
+class symtab;
+typedef abg_compat::shared_ptr<symtab> symtab_sptr;
+
+} // end namespace symtab_reader
+
 void
 dump(const decl_base_sptr, std::ostream&);
 
diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index ee8c823964e7..5c1e915ad2f3 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -32,6 +32,7 @@
 #include "abg-internal.h"
 #include "abg-regex.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 
 namespace abigail
 {
@@ -700,6 +701,7 @@ struct corpus::priv
   string_elf_symbols_map_sptr			undefined_var_symbol_map;
   elf_symbols					sorted_var_symbols;
   elf_symbols					sorted_undefined_var_symbols;
+  symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
   elf_symbols					sorted_fun_symbols;
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 9e90b99473d3..94702047dd82 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -38,6 +38,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-ir.h"
 #include "abg-reader.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 #include "abg-tools-utils.h"
 #include "abg-writer.h"
 
@@ -905,6 +906,14 @@ corpus::operator==(const corpus& other) const
 	  && j == other.get_translation_units().end());
 }
 
+void
+corpus::set_symtab(symtab_reader::symtab_sptr symtab)
+{priv_->symtab_ = symtab;}
+
+const symtab_reader::symtab_sptr&
+corpus::get_symtab() const
+{ return priv_->symtab_; }
+
 /// Setter of the function symbols map.
 ///
 /// @param map a shared pointer to the new function symbols map.
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index cf789d09a8be..d9c1c03d273f 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -50,6 +50,7 @@
 #include "abg-suppression-priv.h"
 #include "abg-corpus-priv.h"
 #include "abg-elf-helpers.h"
+
 #include "abg-internal.h"
 
 // <headers defining libabigail's API go under here>
@@ -57,6 +58,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 
 #include "abg-dwarf-reader.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 #include "abg-tools-utils.h"
 
 ABG_END_EXPORT_DECLARATIONS
@@ -2277,6 +2279,9 @@ public:
   bool				drop_undefined_syms_;
   read_context();
 
+private:
+  mutable symtab_reader::symtab_sptr symtab_;
+
 public:
 
   /// Constructor of read_context.
@@ -2426,6 +2431,8 @@ public:
     dt_soname_.clear();
     elf_architecture_.clear();
 
+    symtab_.reset();
+
     clear_per_translation_unit_data();
 
     memset(&offline_callbacks_, 0, sizeof(offline_callbacks_));
@@ -5577,6 +5584,22 @@ public:
     return symbol;
   }
 
+  const symtab_reader::symtab_sptr&
+  symtab() const
+  {
+    using namespace abg_compat::placeholders;
+    if (!symtab_)
+      symtab_ = symtab_reader::symtab::load(
+	  elf_handle(), options_.env,
+	  abg_compat::bind(&read_context::is_elf_symbol_suppressed, this, _1));
+    if (!symtab_)
+      {
+	std::cerr << "Symbol table of '" << elf_path_
+		  << "' could not be loaded\n";
+      }
+    return symtab_;
+  }
+
   /// Getter for a pointer to the map that associates the address of
   /// an entry point of a function with the symbol of that function.
   ///
@@ -15481,6 +15504,7 @@ read_debug_info_into_corpus(read_context& ctxt)
     group->add_corpus(ctxt.current_corpus());
 
   // Set symbols information to the corpus.
+  ctxt.current_corpus()->set_symtab(ctxt.symtab());
   if (!get_ignore_symbol_table(ctxt))
     {
       if (ctxt.load_in_linux_kernel_mode()
@@ -16737,6 +16761,9 @@ read_corpus_from_elf(read_context& ctxt, status& status)
 	status |= STATUS_NO_SYMBOLS_FOUND;
     }
 
+  if (!ctxt.symtab() || !ctxt.symtab()->has_symbols())
+    status |= STATUS_NO_SYMBOLS_FOUND;
+
   if (// If no elf symbol was found ...
       status & STATUS_NO_SYMBOLS_FOUND
       // ... or if debug info was found but not the required alternate
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index eb74659f1d46..188c23d2e5cd 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -47,6 +47,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-libxml-utils.h"
 #include "abg-reader.h"
 #include "abg-corpus.h"
+#include "abg-symtab-reader.h"
 
 #ifdef WITH_ZIP_ARCHIVE
 #include "abg-libzip-utils.h"
@@ -1973,6 +1974,8 @@ read_corpus_from_input(read_context& ctxt)
       // Note that it's possible that both fn_sym_db and var_sym_db
       // are nil, due to potential suppression specifications.  That's
       // fine.
+      corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db));
+
       if (fn_sym_db)
 	{
 	  corp.set_fun_symbol_map(fn_sym_db);
diff --git a/tests/data/test-symtab/basic/no_debug_info.c b/tests/data/test-symtab/basic/no_debug_info.c
index 5bb380ba0db8..8ac09016eb4d 100644
--- a/tests/data/test-symtab/basic/no_debug_info.c
+++ b/tests/data/test-symtab/basic/no_debug_info.c
@@ -1 +1 @@
-// empty!
+void exported_function(){}
diff --git a/tests/data/test-symtab/basic/no_debug_info.so b/tests/data/test-symtab/basic/no_debug_info.so
index 827c1eee3e4e8f326af7e360ea444627ee59bee6..0b2310196a2a3a67369f80eb29e9ecefc22dc704 100755
GIT binary patch
delta 1147
zcmZWoOH31C5T3tV9tB!<%cHzPw**bm(Cq`-Vl{1*M`I!w5)LMqVl09tfFOpVCM?DW
zhJ&qhFdTd|AsW4SASPgpk#I5|(39dxV>oy)f(G?Kg0tN&N}SF7-_HE=`e*)Mj?a%L
z?3Q^iY*PsQV1N*mfh8HV<=OS>j$NNT<1l0~Rmw`HB*SdRXEwQVUGVEvX&Z5vSu2jN
zj>ggf#Ek7W;t0FD|IOD}WzFr0h4_JvUAv{Vajf89D27U`EMg^FHZg!mpGu0p>x*?7
zQ>+SmbUi{BDa=&z2Co|A;DWAO=#8Hp8X4`4MNgd{JUM!LXmGBSyIgRK-^l5T+*nN<
zUz+>P>kB7XB^RhAKaN;j+u8~dItlv;Hwa}yg^E=GcA*nkoM)8<Ik^ccPw}lHe*bN2
zE1loOx0=ch7v_)U$`Gsw?D5prD6WcsGx1BZ%T*LARi~Z1Nf@AHIf^oD;;-or8M6;k
zhB+pDHlpmXvrT;D=y3I9nymCdp)#dxBDF^VQ<?odRSkVuCrM1kW6}q+$5kgbIouAH
z=ytlDPLI<|9kga~z`&1_&Js=sJ%koErAU?f?ckYMY2auqGQM(-Q9)ss#O!GE6mc9F
zamZ!iOfZEhmxU#8*i}-_!^hyizUn^*0xpxS8Oo5kElk9>t`c1_;F{ZxA$L0~!keTv
z;X}8?jQGyo#udPQN>k4YvBP62H-i}38TK`a49qy;sc!+ur$O%AUnfxqd9azeAlmLP
z`e7gdgfxwcMqKw;=yK6o?xh*;xLg_2NZKZbwuYZVw5`1>+7gMjc7~6%L?g|eSkl<~
z{{_TlT{XrVujr%wu@U^<IE}KGH~f7sGhUyd4Oqik{N$AcZLAt5(B_i_ZTK4Y;R&B)
zkTX|8#u;B9dyLF~k3GkfUovRN-^3Mv8{YSdwu^KaIv+JhCA+v2FQKi;%C2I#DaevI
zN$VY4Y?@#XFuX6wp5P>{PjQjfXUGCkqd)!B0ZJ*19R~t?4RV7T@f@ZCKEsbjRa&A-
Gt$zTQCEAJr

delta 769
zcmYjPO=uHA6rPt&tQ(Uy+mLRmfhLHOs?Gl7XR~cF5sGcW9~6V+lp+dMywrnjJTz(j
zJKFexS`cbZA_yKrK~Igh9PLT;pqCy6Jy>W((An&6>0{=7^SycV-kUe`zFJ>cNy^0>
z+mj;8vxBV2WH!(!B>Zi`-f0VsTPcyqX4GgZqSra&ZG3qwF^|Js#2gKwL-oYf&gaYe
z@1AET?rp9f>8ssbT)rK#e63L3iG)|dE6)s~LWx*wQCJQ@_0B#GZCklpe?#8BR$O|}
zi+U<aJ9v}2s3n~&J}VHHw!;tDlubF@@9+|a6@{WGD_{Hd{BYb%=_xI)tGdcZ8k;oa
z6Rcveq(%e}OLCNHs>{5rZ6W#aPL=UZy~ay8qbXEJQ;Sd#Ynm+dvK7u`e9{Jl5RXE7
zge3gqJN+!qnG99GJIL2XyB?>D>@26mg4oa%3gD+cDIDUb=d>`+r4JACsHdI!9oXpl
zOQ@w~9{+iIWW>Y#Y=@`ZFI!zNZY=J%GWG{ek4z#G8JUiDb-~i8XTIZ3cA}>;edT=R
z`VBO*5o~22Vm`No?Oa&gds;|_A-S!0F^00CNN&SjT)--~y3gWb37Q_p4<m+-5kfRS
zLoZRyuhBX_dcrtm#zglnJGf*{HYP%tH9|CxU9&*<VU8B)396$tdVyWOZo(WZ&}&q=
mev1!dmEbSuw^|?UIF5~<6!RIo2^UZvH^fI-o2@&A1pWhng`7wL

diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index 20e3071c7259..905d8249a6e4 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -68,14 +68,9 @@ TEST_CASE("Symtab::Empty", "[symtab, basic]")
   const std::string	     binary = "basic/empty.so";
   corpus_sptr		     corpus_ptr;
   const dwarf_reader::status status = read_corpus(binary, corpus_ptr);
-  REQUIRE(corpus_ptr);
-
-  REQUIRE((status & dwarf_reader::STATUS_OK));
+  REQUIRE(!corpus_ptr);
 
-  // TODO: Those two assertions are currently not met. Empty symtabs are
-  //       currently treated like the error case.
-  // REQUIRE((status & dwarf_reader::STATUS_OK));
-  // REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
+  REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
 }
 
 TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
@@ -85,9 +80,9 @@ TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
   const dwarf_reader::status status = read_corpus(binary, corpus_ptr);
   REQUIRE(corpus_ptr);
 
-  REQUIRE(status
-	  == (dwarf_reader::STATUS_OK
-	      | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
+  REQUIRE(
+    status
+    == (dwarf_reader::STATUS_OK | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
 }
 
 // this value indicates in the following helper method, that we do not want to
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 08/21] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (6 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 07/21] Integrate new symtab reader into corpus and read_context Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 09/21] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
                     ` (13 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Make the corresponding members an implementation detail of corpus::priv.
They get computed based on the new symtab whenever they are accessed
first with an atomic instantiation. That simplifies the implementation
and homogenizes the access to functions and variables. Sorting does not
need to be done as the symtab already gives a guarantee for that.

Due to improved alias detection in the new symtab reader, ensure we only
write symbol aliases to ksymtab symbols if having a ksymtab main symbol.

Test data needed to be adjusted as the new symtab reader is stricter in
regards to symbols listed in ksymtab. I.e. init_module is not an
exported symbol in the ksymtab of a kernel module.

	* src/abg-corpus-priv.h (corpus::priv::sorted_var_symbols): make
	  private, mutable and optional.
	  (corpus::sorted_undefined_var_symbols): Likewise.
	  (corpus::sorted_fun_symbols): Likewise.
	  (corpus::sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_fun_symbols): New method declaration.
	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_var_symbols): Likewise.
	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
	* src/abg-corpus.cc
	  (corpus::elf_symbol_comp_functor): Delete struct.
	  (corpus::priv::get_sorted_fun_symbols): New method implementation.
	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_var_symbols): Likewise.
	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
	  (corpus::get_sorted_fun_symbols): Proxy call to corpus::priv.
	  (corpus::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::get_sorted_var_symbols): Likewise.
	  (corpus::get_sorted_undefined_var_symbols): Likewise.
	* src/abg-writer.cc (write_elf_symbol_aliases): When emitting
	  aliases for a kernel symbol, ensure to only emit exported aliases.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: update test
	  data.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-corpus-priv.h                         |  21 +-
 src/abg-corpus.cc                             | 242 +++++++-----------
 src/abg-writer.cc                             |  38 ++-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   3 -
 4 files changed, 135 insertions(+), 169 deletions(-)

diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index 5c1e915ad2f3..ad96f260aa89 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -699,13 +699,9 @@ struct corpus::priv
   vector<var_decl*>				vars;
   string_elf_symbols_map_sptr			var_symbol_map;
   string_elf_symbols_map_sptr			undefined_var_symbol_map;
-  elf_symbols					sorted_var_symbols;
-  elf_symbols					sorted_undefined_var_symbols;
   symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
-  elf_symbols					sorted_fun_symbols;
-  elf_symbols					sorted_undefined_fun_symbols;
   elf_symbols					unrefed_fun_symbols;
   elf_symbols					unrefed_var_symbols;
   // The type maps contained in this data member are populated if the
@@ -727,6 +723,11 @@ struct corpus::priv
 private:
   priv();
 
+  mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+
 public:
   priv(const string &	p,
        environment*	e)
@@ -746,6 +747,18 @@ public:
   const type_maps&
   get_types() const;
 
+  const elf_symbols&
+  get_sorted_fun_symbols() const;
+
+  const elf_symbols&
+  get_sorted_undefined_fun_symbols() const;
+
+  const elf_symbols&
+  get_sorted_var_symbols() const;
+
+  const elf_symbols&
+  get_sorted_undefined_var_symbols() const;
+
   unordered_set<interned_string, hash_interned_string>*
   get_public_types_pretty_representations();
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 94702047dd82..6d4bedfd57b7 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -453,6 +453,88 @@ const type_maps&
 corpus::priv::get_types() const
 {return types_;}
 
+/// Return a sorted vector of function symbols for this corpus.
+///
+/// Note that the first time this function is called, the symbols are
+/// sorted and cached.  Subsequent invocations of this function return
+/// the cached vector that was built previously.
+///
+/// @return the sorted list of function symbols.
+const elf_symbols&
+corpus::priv::get_sorted_fun_symbols() const
+{
+  if (!sorted_fun_symbols)
+    {
+      const symtab_reader::symtab_filter filter =
+	  symtab_->make_filter().functions();
+
+      sorted_fun_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_fun_symbols;
+}
+
+/// Getter for a sorted vector of the function symbols undefined in
+/// this corpus.
+///
+/// @return a vector of the function symbols undefined in this corpus,
+/// sorted by name and then version.
+const elf_symbols&
+corpus::priv::get_sorted_undefined_fun_symbols() const
+{
+  if (!sorted_undefined_fun_symbols)
+    {
+      const symtab_reader::symtab_filter filter = symtab_->make_filter()
+						      .functions()
+						      .undefined_symbols()
+						      .public_symbols(false);
+
+      sorted_undefined_fun_symbols =
+	  elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_undefined_fun_symbols;
+}
+
+/// Getter for the sorted vector of variable symbols for this corpus.
+///
+/// Note that the first time this function is called, it computes the
+/// sorted vector, caches the result and returns it.  Subsequent
+/// invocations of this function just return the cached vector.
+///
+/// @return the sorted vector of variable symbols for this corpus.
+const elf_symbols&
+corpus::priv::get_sorted_var_symbols() const
+{
+  if (!sorted_var_symbols)
+    {
+      const symtab_reader::symtab_filter filter =
+	  symtab_->make_filter().variables();
+
+      sorted_var_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_var_symbols;
+}
+
+/// Getter for a sorted vector of the variable symbols undefined in
+/// this corpus.
+///
+/// @return a vector of the variable symbols undefined in this corpus,
+/// sorted by name and then version.
+const elf_symbols&
+corpus::priv::get_sorted_undefined_var_symbols() const
+{
+  if (!sorted_undefined_var_symbols)
+    {
+      const symtab_reader::symtab_filter filter = symtab_->make_filter()
+						      .variables()
+						      .undefined_symbols()
+						      .public_symbols(false);
+
+      sorted_undefined_var_symbols =
+	  elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_undefined_var_symbols;
+}
+
 /// Getter of the set of pretty representation of types that are
 /// reachable from public interfaces (global functions and variables).
 ///
@@ -988,104 +1070,21 @@ const string_elf_symbols_map_type&
 corpus::get_undefined_fun_symbol_map() const
 {return *get_undefined_fun_symbol_map_sptr();}
 
-/// Functor to sort instances of @ref elf_symbol.
-struct elf_symbol_comp_functor
-{
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol& l, elf_symbol& r)
-  {return (l.get_id_string() < r.get_id_string());}
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol* l, elf_symbol* r)
-  {return operator()(*l, *r);}
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol_sptr l, elf_symbol_sptr r)
-  {return operator()(*l, *r);}
-}; // end struct elf_symbol_comp_functor
-
-/// Return a sorted vector of function symbols for this corpus.
-///
-/// Note that the first time this function is called, the symbols are
-/// sorted and cached.  Subsequent invocations of this function return
-/// the cached vector that was built previously.
-///
-/// @return the sorted list of function symbols.
 const elf_symbols&
 corpus::get_sorted_fun_symbols() const
-{
-  if (priv_->sorted_fun_symbols.empty()
-      && !get_fun_symbol_map().empty())
-    {
-      priv_->sorted_fun_symbols.reserve(get_fun_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_fun_symbol_map().begin();
-	   i != get_fun_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  priv_->sorted_fun_symbols.push_back(*s);
+{ return priv_->get_sorted_fun_symbols(); }
 
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_fun_symbols.begin(),
-		priv_->sorted_fun_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_fun_symbols;
-}
-
-/// Getter for a sorted vector of the function symbols undefined in
-/// this corpus.
-///
-/// @return a vector of the function symbols undefined in this corpus,
-/// sorted by name and then version.
 const elf_symbols&
 corpus::get_sorted_undefined_fun_symbols() const
-{
-  if (priv_->sorted_undefined_fun_symbols.empty()
-      && !get_undefined_fun_symbol_map().empty())
-    {
-      priv_->sorted_undefined_fun_symbols.reserve
-	(get_undefined_fun_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_undefined_fun_symbol_map().begin();
-	   i != get_undefined_fun_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  priv_->sorted_undefined_fun_symbols.push_back(*s);
+{ return priv_->get_sorted_undefined_fun_symbols(); }
 
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_undefined_fun_symbols.begin(),
-		priv_->sorted_undefined_fun_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_undefined_fun_symbols;
-}
+const elf_symbols&
+corpus::get_sorted_var_symbols() const
+{ return priv_->get_sorted_var_symbols(); }
+
+const elf_symbols&
+corpus::get_sorted_undefined_var_symbols() const
+{ return priv_->get_sorted_undefined_var_symbols(); }
 
 /// Getter for the variable symbols map.
 ///
@@ -1125,65 +1124,6 @@ const string_elf_symbols_map_type&
 corpus::get_undefined_var_symbol_map() const
 {return *get_undefined_var_symbol_map_sptr();}
 
-/// Getter for the sorted vector of variable symbols for this corpus.
-///
-/// Note that the first time this function is called, it computes the
-/// sorted vector, caches the result and returns it.  Subsequent
-/// invocations of this function just return the cached vector.
-///
-/// @return the sorted vector of variable symbols for this corpus.
-const elf_symbols&
-corpus::get_sorted_var_symbols() const
-{
-  if (priv_->sorted_var_symbols.empty()
-      && !get_var_symbol_map().empty())
-    {
-      priv_->sorted_var_symbols.reserve(get_var_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_var_symbol_map().begin();
-	   i != get_var_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end(); ++s)
-	  priv_->sorted_var_symbols.push_back(*s);
-
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_var_symbols.begin(),
-		priv_->sorted_var_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_var_symbols;
-}
-
-/// Getter for a sorted vector of the variable symbols undefined in
-/// this corpus.
-///
-/// @return a vector of the variable symbols undefined in this corpus,
-/// sorted by name and then version.
-const elf_symbols&
-corpus::get_sorted_undefined_var_symbols() const
-{
-  if (priv_->sorted_undefined_var_symbols.empty()
-      && !get_undefined_var_symbol_map().empty())
-    {
-      priv_->sorted_undefined_var_symbols.reserve
-	(get_undefined_var_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_undefined_var_symbol_map().begin();
-	   i != get_undefined_var_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end(); ++s)
-	  priv_->sorted_undefined_var_symbols.push_back(*s);
-
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_undefined_var_symbols.begin(),
-		priv_->sorted_undefined_var_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_undefined_var_symbols;
-}
-
 /// Look in the function symbols map for a symbol with a given name.
 ///
 /// @param n the name of the symbol to look for.
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index ce0bae2d5cfd..c5be11b26072 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -1693,26 +1693,42 @@ write_elf_symbol_visibility(elf_symbol::visibility v, ostream& o)
 ///
 /// @return true upon successful completion.
 static bool
-write_elf_symbol_aliases(const elf_symbol& sym, ostream& o)
+write_elf_symbol_aliases(const elf_symbol& sym, ostream& out)
 {
   if (!sym.is_main_symbol() || !sym.has_aliases())
     return false;
 
-  bool emitted = false;
-  o << " alias='";
-  for (elf_symbol_sptr s = sym.get_next_alias();
-       !s->is_main_symbol();
+
+  std::vector<std::string> aliases;
+  for (elf_symbol_sptr s = sym.get_next_alias(); s && !s->is_main_symbol();
        s = s->get_next_alias())
     {
-      if (s->get_next_alias()->is_main_symbol())
-	o << s->get_id_string() << "'";
-      else
-	o << s->get_id_string() << ",";
+      if (s->is_suppressed())
+	continue;
 
-      emitted = true;
+      if (sym.is_in_ksymtab() != s->is_in_ksymtab())
+	continue;
+
+      aliases.push_back(s->get_id_string());
     }
 
-  return emitted;
+  if (!aliases.empty())
+    {
+      out << " alias='";
+      std::string separator;
+      for (std::vector<std::string>::const_iterator it = aliases.begin(),
+						    end = aliases.end();
+	   it != end; ++it)
+	{
+	  out << separator << *it;
+	  separator = ",";
+	}
+
+      out << "'";
+      return true;
+    }
+
+  return false;
 }
 
 /// Write an XML attribute for the reference to a symbol for the
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index 755ea6dc433e..d5af7183095f 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -2,8 +2,6 @@
   <elf-function-symbols>
     <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='cleanup_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='init_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -40,7 +38,6 @@
     <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <elf-variable-symbols>
-    <elf-symbol name='__this_module' size='896' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
 
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 09/21] corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (7 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 08/21] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 10/21] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
                     ` (12 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Make the corresponding members an implementation detail of corpus::priv.
They get computed based on the new symtab whenever they are accessed
first with an atomic instantiation. That simplifies the implementation
and homogenizes the access to functions and variables. Sorting does not
need to be done as the symtab already gives a guarantee for that.

        * src/abg-corpus-priv.h (corpus::priv::unrefed_var_symbols): make
          private, mutable and optional.
          (corpus::unrefed_fun_symbols): Likewise.
          (corpus::priv::get_unreferenced_function_symbols): New method declaration.
          (corpus::priv::get_unreferenced_variable_symbols): Likewise.
        * src/abg-corpus.cc
          (corpus::priv::build_unreferenced_symbols_tables): Delete method.
          (corpus::priv::get_unreferenced_function_symbols): New method implementation.
          (corpus::priv::get_unreferenced_variable_symbols): Likewise.
          (corpus::get_unreferenced_function_symbols): Proxy call to corpus::priv.
          (corpus::get_unreferenced_variable_symbols): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-corpus-priv.h |  13 ++-
 src/abg-corpus.cc     | 261 ++++++++++++++++++++----------------------
 2 files changed, 131 insertions(+), 143 deletions(-)

diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index ad96f260aa89..f2e895bf1e7d 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -702,8 +702,6 @@ struct corpus::priv
   symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
-  elf_symbols					unrefed_fun_symbols;
-  elf_symbols					unrefed_var_symbols;
   // The type maps contained in this data member are populated if the
   // corpus follows the One Definition Rule and thus if there is only
   // one copy of a type with a given name, per corpus. Otherwise, if
@@ -725,8 +723,10 @@ private:
 
   mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<elf_symbols> unrefed_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+  mutable abg_compat::optional<elf_symbols> unrefed_fun_symbols;
 
 public:
   priv(const string &	p,
@@ -738,9 +738,6 @@ public:
       pub_type_pretty_reprs_()
   {}
 
-  void
-  build_unreferenced_symbols_tables();
-
   type_maps&
   get_types();
 
@@ -753,12 +750,18 @@ public:
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
+  const elf_symbols&
+  get_unreferenced_function_symbols() const;
+
   const elf_symbols&
   get_sorted_var_symbols() const;
 
   const elf_symbols&
   get_sorted_undefined_var_symbols() const;
 
+  const elf_symbols&
+  get_unreferenced_variable_symbols() const;
+
   unordered_set<interned_string, hash_interned_string>*
   get_public_types_pretty_representations();
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 6d4bedfd57b7..0f5d51820891 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -317,132 +317,6 @@ struct comp_elf_symbols_functor
 
 // <corpus stuff>
 
-
-/// Build the tables of symbols that are not referenced by any
-/// function or variables of corpus::get_functions() or
-/// corpus::get_variables().
-///
-/// Note that this function considers the list of function and
-/// variable symbols to keep, that is provided by
-/// corpus::get_sym_ids_of_fns_to_keep() and
-/// corpus::get_sym_ids_of_vars_to_keep().  If a given unreferenced
-/// function or variable symbol is not in the list of variable and
-/// function symbols to keep, then that symbol is dropped and will not
-/// be part of the resulting table of unreferenced symbol that is
-/// built.
-///
-/// The built tables are accessible from
-/// corpus::get_unreferenced_function_symbols() and
-/// corpus::get_unreferenced_variable_symbols().
-void
-corpus::priv::build_unreferenced_symbols_tables()
-{
-  unordered_map<string, bool> refed_funs, refed_vars;
-  elf_symbol_sptr sym;
-
-  for (vector<function_decl*>::const_iterator f = fns.begin();
-       f != fns.end();
-       ++f)
-    if ((sym = (*f)->get_symbol()))
-      {
-	refed_funs[sym->get_id_string()] = true;
-	for (elf_symbol_sptr a = sym->get_next_alias();
-	     a && !a->is_main_symbol();
-	     a = a->get_next_alias())
-	  refed_funs[a->get_id_string()] = true;
-      }
-
-  for (vector<var_decl*>::const_iterator v = vars.begin();
-       v != vars.end();
-       ++v)
-    if ((sym = (*v)->get_symbol()))
-      {
-	refed_vars[sym->get_id_string()] = true;
-	for (elf_symbol_sptr a = sym->get_next_alias();
-	     a && !a->is_main_symbol();
-	     a = a->get_next_alias())
-	  refed_vars[a->get_id_string()] = true;
-      }
-
-  if (fun_symbol_map)
-    {
-      // Let's assume that the size of the unreferenced symbols vector
-      // is roughly smaller than the size of the symbol table.
-      unrefed_fun_symbols.reserve(fun_symbol_map->size());
-      for (string_elf_symbols_map_type::const_iterator i
-	     = fun_symbol_map->begin();
-	   i != fun_symbol_map->end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  {
-	    string sym_id = (*s)->get_id_string();
-	    if (refed_funs.find(sym_id) == refed_funs.end())
-	      {
-		bool keep = sym_id_fns_to_keep.empty();
-		for (vector<string>::const_iterator i =
-		       sym_id_fns_to_keep.begin();
-		     i != sym_id_fns_to_keep.end();
-		     ++i)
-		  {
-		    if (*i == sym_id)
-		      {
-			keep = true;
-			break;
-		      }
-		  }
-		if (keep)
-		  unrefed_fun_symbols.push_back(*s);
-	      }
-	  }
-
-      comp_elf_symbols_functor comp;
-      std::sort(unrefed_fun_symbols.begin(),
-		unrefed_fun_symbols.end(),
-		comp);
-    }
-
-  if (var_symbol_map)
-    {
-      // Let's assume that the size of the unreferenced symbols vector
-      // is roughly smaller than the size of the symbol table.
-      unrefed_var_symbols.reserve(var_symbol_map->size());
-      for (string_elf_symbols_map_type::const_iterator i
-	     = var_symbol_map->begin();
-	   i != var_symbol_map->end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  {
-	    string sym_id = (*s)->get_id_string();
-	    if (refed_vars.find(sym_id) == refed_vars.end())
-	      {
-		bool keep = sym_id_vars_to_keep.empty();
-		for (vector<string>::const_iterator i =
-		       sym_id_vars_to_keep.begin();
-		     i != sym_id_vars_to_keep.end();
-		     ++i)
-		  {
-		    if (*i == sym_id)
-		      {
-			keep = true;
-			break;
-		      }
-		  }
-		if (keep)
-		  unrefed_var_symbols.push_back(*s);
-	      }
-	  }
-
-      comp_elf_symbols_functor comp;
-      std::sort(unrefed_var_symbols.begin(),
-		unrefed_var_symbols.end(),
-		comp);
-    }
-}
-
 /// Get the maps that associate a name to a certain kind of type.
 type_maps&
 corpus::priv::get_types()
@@ -494,6 +368,66 @@ corpus::priv::get_sorted_undefined_fun_symbols() const
   return *sorted_undefined_fun_symbols;
 }
 
+/// Return a list of symbols that are not referenced by any function of
+/// corpus::get_functions().
+///
+/// Note that this function considers the list of function symbols to keep,
+/// that is provided by corpus::get_sym_ids_of_fns_to_keep(). If a given
+/// unreferenced function symbol is not in the list of functions to keep, then
+/// that symbol is dropped and will not be part of the resulting table of
+/// unreferenced symbol that is built.
+const elf_symbols&
+corpus::priv::get_unreferenced_function_symbols() const
+{
+  if (!unrefed_fun_symbols)
+    {
+      unrefed_fun_symbols = elf_symbols();
+      if (symtab_)
+	{
+	  unordered_map<string, bool> refed_funs;
+	  elf_symbol_sptr	      sym;
+
+	  for (vector<function_decl*>::const_iterator f = fns.begin();
+	       f != fns.end(); ++f)
+	    if ((sym = (*f)->get_symbol()))
+	      {
+		refed_funs[sym->get_id_string()] = true;
+		for (elf_symbol_sptr a = sym->get_next_alias();
+		     a && !a->is_main_symbol(); a = a->get_next_alias())
+		  refed_funs[a->get_id_string()] = true;
+	      }
+
+	  symtab_reader::symtab_filter filter =
+	    symtab_->make_filter().functions();
+	  for (symtab_reader::symtab::const_iterator iter =
+		 symtab_->begin(filter);
+	       iter != symtab_->end(); iter++)
+	    {
+	      const elf_symbol_sptr& symbol = *iter;
+	      const std::string	     sym_id = symbol->get_id_string();
+
+	      if (refed_funs.find(sym_id) == refed_funs.end())
+		{
+		  bool keep = sym_id_fns_to_keep.empty();
+		  for (vector<string>::const_iterator i =
+			 sym_id_fns_to_keep.begin();
+		       i != sym_id_fns_to_keep.end(); ++i)
+		    {
+		      if (*i == sym_id)
+			{
+			  keep = true;
+			  break;
+			}
+		    }
+		  if (keep)
+		    unrefed_fun_symbols->push_back(symbol);
+		}
+	    }
+	}
+    }
+  return *unrefed_fun_symbols;
+}
+
 /// Getter for the sorted vector of variable symbols for this corpus.
 ///
 /// Note that the first time this function is called, it computes the
@@ -535,6 +469,67 @@ corpus::priv::get_sorted_undefined_var_symbols() const
   return *sorted_undefined_var_symbols;
 }
 
+/// Return a list of symbols that are not referenced by any variable of
+/// corpus::get_variables().
+///
+/// Note that this function considers the list of variable symbols to keep,
+/// that is provided by corpus::get_sym_ids_of_vars_to_keep(). If a given
+/// unreferenced variable symbol is not in the list of variable to keep, then
+/// that symbol is dropped and will not be part of the resulting table of
+/// unreferenced symbol that is built.
+const elf_symbols&
+corpus::priv::get_unreferenced_variable_symbols() const
+{
+  if (!unrefed_var_symbols)
+    {
+      unrefed_var_symbols = elf_symbols();
+      if (symtab_)
+	{
+	  unordered_map<string, bool> refed_vars;
+	  elf_symbol_sptr	      sym;
+
+	  for (vector<var_decl*>::const_iterator f = vars.begin();
+	       f != vars.end(); ++f)
+	    if ((sym = (*f)->get_symbol()))
+	      {
+		refed_vars[sym->get_id_string()] = true;
+		for (elf_symbol_sptr a = sym->get_next_alias();
+		     a && !a->is_main_symbol(); a = a->get_next_alias())
+		  refed_vars[a->get_id_string()] = true;
+	      }
+
+	  symtab_reader::symtab_filter filter =
+	    symtab_->make_filter().variables();
+	  for (symtab_reader::symtab::const_iterator iter =
+		 symtab_->begin(filter);
+	       iter != symtab_->end(); iter++)
+	    {
+	      const elf_symbol_sptr& symbol = *iter;
+	      const std::string	     sym_id = symbol->get_id_string();
+
+	      if (refed_vars.find(sym_id) == refed_vars.end())
+		{
+		  bool keep = sym_id_vars_to_keep.empty();
+		  for (vector<string>::const_iterator i =
+			 sym_id_vars_to_keep.begin();
+		       i != sym_id_vars_to_keep.end(); ++i)
+		    {
+		      if (*i == sym_id)
+			{
+			  keep = true;
+			  break;
+			}
+		    }
+		  if (keep)
+		    unrefed_var_symbols->push_back(symbol);
+		}
+	    }
+	}
+    }
+  return *unrefed_var_symbols;
+}
+
+
 /// Getter of the set of pretty representation of types that are
 /// reachable from public interfaces (global functions and variables).
 ///
@@ -1366,12 +1361,7 @@ corpus::sort_variables()
 /// function exported by the current corpus.
 const elf_symbols&
 corpus::get_unreferenced_function_symbols() const
-{
-  if (priv_->unrefed_fun_symbols.empty()
-      && priv_->unrefed_var_symbols.empty())
-    priv_->build_unreferenced_symbols_tables();
-  return priv_->unrefed_fun_symbols;
-}
+{ return priv_->get_unreferenced_function_symbols(); }
 
 /// Getter of the set of variable symbols that are not referenced by
 /// any variable exported by the current corpus.
@@ -1384,12 +1374,7 @@ corpus::get_unreferenced_function_symbols() const
 /// variable exported by the current corpus.
 const elf_symbols&
 corpus::get_unreferenced_variable_symbols() const
-{
-    if (priv_->unrefed_fun_symbols.empty()
-      && priv_->unrefed_var_symbols.empty())
-    priv_->build_unreferenced_symbols_tables();
-  return priv_->unrefed_var_symbols;
-}
+{ return priv_->get_unreferenced_variable_symbols(); }
 
 /// Accessor for the regex patterns describing the functions to drop
 /// from the public decl table.
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 10/21] abg-reader: avoid using the (var|function)_symbol_map
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (8 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 09/21] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 11/21] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
                     ` (11 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Instead of using the corpus var|function_symbol_maps for symbol lookups,
let build_elf_symbol_from_reference use the symtab::lookup_symbol
method. That leads to a shorter implementation and we can drop the
indicative parameter.

	* src/abg-reader.cc (build_elf_symbol_from_reference): drop
	  last parameter indicating the lookup type and use corpus
	  symtab for the lookup
	  (build_function_decl): Adjust accordingly.
	  (build_var_decl): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-reader.cc | 31 ++++++++++---------------------
 1 file changed, 10 insertions(+), 21 deletions(-)

diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 188c23d2e5cd..313639fddff0 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -1150,8 +1150,7 @@ static elf_symbol_sptr
 build_elf_symbol(read_context&, const xmlNodePtr, bool);
 
 static elf_symbol_sptr
-build_elf_symbol_from_reference(read_context&, const xmlNodePtr,
-				bool);
+build_elf_symbol_from_reference(read_context&, const xmlNodePtr);
 
 static string_elf_symbols_map_sptr
 build_elf_symbol_db(read_context&, const xmlNodePtr, bool);
@@ -2884,8 +2883,7 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 ///
 /// @return a shared pointer the resutling elf_symbol.
 static elf_symbol_sptr
-build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node,
-				bool function_symbol)
+build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node)
 {
   elf_symbol_sptr nil;
 
@@ -2904,20 +2902,13 @@ build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node,
       if (name.empty())
 	return nil;
 
-      string_elf_symbols_map_sptr sym_db =
-	(function_symbol)
-	? ctxt.get_corpus()->get_fun_symbol_map_sptr()
-	: ctxt.get_corpus()->get_var_symbol_map_sptr();
+      const elf_symbols& symbols =
+	  ctxt.get_corpus()->get_symtab()->lookup_symbol(name);
 
-      string_elf_symbols_map_type::const_iterator i = sym_db->find(name);
-      if (i != sym_db->end())
-	{
-	  for (elf_symbols::const_iterator s = i->second.begin();
-	       s != i->second.end();
-	       ++s)
-	    if ((*s)->get_id_string() == sym_id)
-	      return *s;
-	}
+      for (elf_symbols::const_iterator symbol = symbols.begin();
+	   symbol != symbols.end(); ++symbol)
+	if ((*symbol)->get_id_string() == sym_id)
+	  return *symbol;
     }
 
   return nil;
@@ -3168,8 +3159,7 @@ build_function_decl(read_context&	ctxt,
 
   ctxt.push_decl_to_current_scope(fn_decl, add_to_current_scope);
 
-  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node,
-							/*function_sym=*/true);
+  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node);
   if (sym)
     fn_decl->set_symbol(sym);
 
@@ -3400,8 +3390,7 @@ build_var_decl(read_context&	ctxt,
 				  locus, mangled_name,
 				  vis, bind));
 
-  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node,
-							/*function_sym=*/false);
+  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node);
   if (sym)
     decl->set_symbol(sym);
 
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 11/21] dwarf-reader: read_context: use new symtab in *_symbols_is_exported
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (9 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 10/21] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 12/21] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
                     ` (10 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Testing whether a symbol is exported can be simplified using the new
symtab implementation. The same holds true for whether a symbol is
exported via ksymtab in case of linux kernel binaries. So, do that.

	* src/abg-dwarf-reader.cc (function_symbol_is_exported): Use new
	  symtab implementation.
	  (variable_symbol_is_exported): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index d9c1c03d273f..6f792a957076 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -5515,11 +5515,11 @@ public:
   elf_symbol_sptr
   function_symbol_is_exported(GElf_Addr symbol_address) const
   {
-    elf_symbol_sptr symbol = lookup_elf_fn_symbol_from_address(symbol_address);
+    elf_symbol_sptr symbol = symtab()->lookup_symbol(symbol_address);
     if (!symbol)
       return symbol;
 
-    if (!symbol->is_public())
+    if (!symbol->is_function() || !symbol->is_public())
       return elf_symbol_sptr();
 
     address_set_sptr set;
@@ -5528,16 +5528,8 @@ public:
 
     if (looking_at_linux_kernel_binary)
       {
-	if ((set = linux_exported_fn_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
-	if ((set = linux_exported_gpl_fn_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
+	if (symbol->is_in_ksymtab())
+	  return symbol;
 	return elf_symbol_sptr();
       }
 
@@ -5555,11 +5547,11 @@ public:
   elf_symbol_sptr
   variable_symbol_is_exported(GElf_Addr symbol_address) const
   {
-    elf_symbol_sptr symbol = lookup_elf_var_symbol_from_address(symbol_address);
+    elf_symbol_sptr symbol = symtab()->lookup_symbol(symbol_address);
     if (!symbol)
       return symbol;
 
-    if (!symbol->is_public())
+    if (!symbol->is_variable() || !symbol->is_public())
       return elf_symbol_sptr();
 
     address_set_sptr set;
@@ -5568,16 +5560,8 @@ public:
 
     if (looking_at_linux_kernel_binary)
       {
-	if ((set = linux_exported_var_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
-	if ((set = linux_exported_gpl_var_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
+	if (symbol->is_in_ksymtab())
+	  return symbol;
 	return elf_symbol_sptr();
       }
 
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 12/21] Switch kernel stuff over to new symtab and drop unused code
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (10 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 11/21] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 13/21] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
                     ` (9 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Now that the new symtab implementation is capable of reading the
ksymtab, we can switch over the implementation to gather information
from there and delete all now-obsolete code.

	* src/abg-dwarf-reader.cc:
	(kernel_symbol_table_kind): Delete.
	(ksymtab_format): Likewise.
	(read_context::ksymtab_format_): Likewise.
	(read_context::ksymtab_entry_size_): Likewise.
	(read_context::nb_ksymtab_entries_): Likewise.
	(read_context::nb_ksymtab_gpl_entries_): Likewise.
	(read_context::ksymtab_section_): Likewise.
	(read_context::ksymtab_reloc_section_): Likewise.
	(read_context::ksymtab_gpl_section_): Likewise.
	(read_context::ksymtab_gpl_reloc_section_): Likewise.
	(read_context::ksymtab_strings_section_): Likewise.
	(read_context::linux_exported_fn_syms_): Likewise.
	(read_context::linux_exported_var_syms_): Likewise.
	(read_context::linux_exported_gpl_fn_syms_): Likewise.
	(read_context::linux_exported_gpl_var_syms_): Likewise.
	(read_context::initialize): Remove initializations accordingly.
	(read_context::find_ksymtab_section): Delete.
	(read_context::find_ksymtab_gpl_section): Likewise.
	(read_context::find_ksymtab_reloc_section): Likewise.
	(read_context::find_ksymtab_gpl_reloc_section): Likewise.
	(read_context::find_ksymtab_strings_section): Likewise.
	(read_context::find_any_ksymtab_section): Likewise.
	(read_context::find_any_ksymtab_reloc_section): Likewise.
	(read_context::lookup_elf_symbol_from_index): Adjust overload
	with main logic..
	(read_context::linux_exported_fn_syms): Delete.
	(read_context::create_or_get_linux_exported_fn_syms): Likewise.
	(read_context::linux_exported_var_syms): Likewise.
	(read_context::create_or_get_linux_exported_var_syms): Likewise.
	(read_context::linux_exported_gpl_fn_syms): Delete.
	(read_context::create_or_get_linux_exported_gpl_fn_syms): Likewise.
	(read_context::linux_exported_gpl_var_syms): Likewise.
	(read_context::create_or_get_linux_exported_gpl_var_syms): Likewise.
	(read_context::try_reading_first_ksymtab_entry): Likewise.
	(read_context::try_reading_first_ksymtab_entry_using_pre_v4_19_format): Likewise.
	(read_context::try_reading_first_ksymtab_entry_using_v4_19_format): Likewise.
	(read_context::get_ksymtab_format_module): Likewise.
	(read_context::get_ksymtab_format): Likewise.
	(read_context::get_ksymtab_symbol_value_size): Likewise.
	(read_context::get_ksymtab_entry_size): Likewise.
	(read_context::get_nb_ksymtab_entries): Likewise.
	(read_context::get_nb_ksymtab_gpl_entries): Likewise.
	(read_context::populate_symbol_map_from_ksymtab): Likewise.
	(read_context::populate_symbol_map_from_ksymtab_reloc): Likewise.
	(read_context::load_kernel_symbol_table): Likewise.
	(read_context::load_ksymtab_symbols): Likewise.
	(read_context::load_ksymtab_gpl_symbols): Likewise.
	(read_context::load_linux_specific_exported_symbol_maps): Likewise.
	(read_context::load_symbol_maps): Do not load kernel symbol maps.
	(read_context::maybe_adjust_sym_address_from_v4_19_ksymtab): Delete.
	(read_context::add_fn_symbols_to_map): Likewise.
	(read_context::add_var_symbols_to_map): Likewise.
	(read_context::read_debug_info_into_corpus): Fill export maps
	from new symtab.
	(read_context::lookup_elf_fn_symbol_from_address): Delete.
	(read_context::lookup_elf_var_symbol_from_address): Likewise.
	(read_context::lookup_elf_symbol_from_address): Likewise.
	(read_context::lookup_public_function_symbol_from_elf): Likewise.
	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
	(read_context::fun_entry_addr_sym_map): Likewise.
	(read_context::var_addr_sym_map): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 1280 +--------------------------------------
 1 file changed, 22 insertions(+), 1258 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 6f792a957076..d90c0a3fe56a 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -1922,92 +1922,6 @@ struct dwarf_expr_eval_context
 // </location expression evaluation types>
 // ---------------------------------------
 
-/// An enum for the diffent kinds of linux kernel specific symbol
-/// tables.
-enum kernel_symbol_table_kind
-{
-  /// This is for an undefined kind of kernel symbol table.
-  KERNEL_SYMBOL_TABLE_KIND_UNDEFINED,
-
-  /// The __ksymtab symbol table.
-  KERNEL_SYMBOL_TABLE_KIND_KSYMTAB,
-
-  /// The __ksymtab_gpl symbol table.
-  KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL
-};
-
-/// An enum which specifies the format of the kernel symbol table
-/// (__ksymtab or __ksymtab_gpl).
-enum ksymtab_format
-{
-  /// This enumerator means that no __ksymtab format has been
-  /// determined yet.
-  UNDEFINED_KSYMTAB_FORMAT,
-
-  /// Before Linux v4.19, the format of the __ksymtab (and the
-  /// __ksymtab_gpl) section was the following.
-  ///
-  /// It's an array of entries.  Each entry describes a symbol.  Each
-  /// entry is made of two words.  each is of the word size of the
-  /// architecture. (8-bytes on a 64 bits arch and 4-bytes on a 32
-  /// bits arch) The first word is the address of a symbol.  The
-  /// second one is the address of a static global variable symbol
-  /// which value is the string representing the symbol name.  That
-  /// string is in the __ksymtab_strings section.
-  ///
-  /// So we are mostly interested in the symbol address part of each
-  /// entry.
-  ///
-  /// Thus this enumerator means that we have the pre v4.19 __ksymtab
-  /// section format.
-  PRE_V4_19_KSYMTAB_FORMAT,
-
-  /// Since, Linux v4.19, the format of the __ksymtab section has
-  /// changed.  The commit that changed is
-  /// https://github.com/torvalds/linux/commit/7290d58095712a89f845e1bca05334796dd49ed2.
-  ///
-  /// The __ksymtab and __ksymtab_gpl sections each are an array of
-  /// entries.  Each entry describes a symbol.  Each entry is made of
-  /// two words.  Each word is 4-bytes length.  The first word is the
-  /// 'place-relative' address of a symbol.  The second one is the
-  /// 'place-relative' address of a static global variable symbol
-  /// which value is the string representing the symbol name.  That
-  /// string is in the __ksymtab_strings section.
-  ///
-  /// Below is the description of what a "place-relative address"
-  /// means.  For that, we are going to define the meaning of four
-  /// values: 'N', 'S', 'O', and 'A'.
-  ///
-  /// *** 'N' and '0' ***
-  /// Suppose 'N' is the value of the number stored at offset 'O' (big
-  /// oh, not zero) in the __ksymtab section.
-  ///
-  /// *** 'S'***
-  /// That N designates a symbol in the symtab section which value is
-  /// S.  So S is the symbol value (in the .symtab symbol table)
-  /// referred to by the number N found at offset 'O'.
-  ///
-  /// *** 'A' ***
-  /// Also, suppose the __ksymtab section will be loaded at memory
-  /// address A, as indicated by the 'address' field of the section
-  /// header describing the __ksymtab section.
-  ///
-  /// So here is the formula that gives us S, from N:
-  ///
-  ///     S = N + O + A.
-  ///
-  /// Storing addresses this way does away with the need to have
-  /// relocations for the __ksymtab section.  So in effect, vmlinux
-  /// binaries implementing this new format of __ksymtab won't have
-  /// any .rela__ksymtab relocation section for the __ksymtab section
-  /// in particular (nor any relocation section at all).
-  ///
-  ///
-  /// Note that we are mostly interested in the symbol address part of
-  /// each entry.
-  V4_19_KSYMTAB_FORMAT
-}; // end enum ksymtab_format
-
 /// The context used to build ABI corpus from debug info in DWARF
 /// format.
 ///
@@ -2165,26 +2079,6 @@ public:
   // ppc64 elf v1 binaries.  This section contains the procedure
   // descriptors on that platform.
   mutable Elf_Scn*		opd_section_;
-  /// The format of the special __ksymtab section from the linux
-  /// kernel binary.
-  mutable ksymtab_format	ksymtab_format_;
-  /// The size of one entry of the __ksymtab section.
-  mutable size_t		ksymtab_entry_size_;
-  /// The number of entries in the __ksymtab section.
-  mutable size_t		nb_ksymtab_entries_;
-  /// The number of entries in the __ksymtab_gpl section.
-  mutable size_t		nb_ksymtab_gpl_entries_;
-  /// The special __ksymtab and __ksymtab_gpl sections from linux
-  /// kernel or module binaries.  The former is used to store
-  /// references to symbols exported using the EXPORT_SYMBOL macro
-  /// from the linux kernel.  The latter is used to store references
-  /// to symbols exported using the EXPORT_SYMBOL_GPL macro from the
-  /// linux kernel.
-  mutable Elf_Scn*		ksymtab_section_;
-  mutable Elf_Scn*		ksymtab_reloc_section_;
-  mutable Elf_Scn*		ksymtab_gpl_section_;
-  mutable Elf_Scn*		ksymtab_gpl_reloc_section_;
-  mutable Elf_Scn*		ksymtab_strings_section_;
   Dwarf_Die*			cur_tu_die_;
   mutable dwarf_expr_eval_context	dwarf_expr_eval_context_;
   // A set of maps (one per kind of die source) that associates a decl
@@ -2267,10 +2161,6 @@ public:
   string_elf_symbols_map_sptr	var_syms_;
   string_elf_symbols_map_sptr	undefined_fun_syms_;
   string_elf_symbols_map_sptr	undefined_var_syms_;
-  address_set_sptr		linux_exported_fn_syms_;
-  address_set_sptr		linux_exported_var_syms_;
-  address_set_sptr		linux_exported_gpl_fn_syms_;
-  address_set_sptr		linux_exported_gpl_var_syms_;
   vector<string>		dt_needed_;
   string			dt_soname_;
   string			elf_architecture_;
@@ -2369,15 +2259,6 @@ public:
     elf_path_ = elf_path;
     symtab_section_ = 0;
     opd_section_ = 0;
-    ksymtab_format_ = UNDEFINED_KSYMTAB_FORMAT;
-    ksymtab_entry_size_ = 0;
-    nb_ksymtab_entries_ = 0;
-    nb_ksymtab_gpl_entries_ = 0;
-    ksymtab_section_ = 0;
-    ksymtab_reloc_section_ = 0;
-    ksymtab_gpl_section_ = 0;
-    ksymtab_gpl_reloc_section_ = 0;
-    ksymtab_strings_section_ = 0;
     cur_tu_die_ =  0;
     exported_decls_builder_ = 0;
 
@@ -2423,10 +2304,6 @@ public:
     var_syms_.reset();
     undefined_fun_syms_.reset();
     undefined_var_syms_.reset();
-    linux_exported_fn_syms_.reset();
-    linux_exported_var_syms_.reset();
-    linux_exported_gpl_fn_syms_.reset();
-    linux_exported_gpl_var_syms_.reset();
     dt_needed_.clear();
     dt_soname_.clear();
     elf_architecture_.clear();
@@ -5070,97 +4947,6 @@ public:
     return opd_section_;
   }
 
-  /// Return the __ksymtab section of a linux kernel ELF file (either
-  /// a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_section() const
-  {
-    if (!ksymtab_section_)
-      ksymtab_section_ = elf_helpers::find_ksymtab_section(elf_handle());
-    return ksymtab_section_;
-  }
-
-  /// Return the __ksymtab_gpl section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab_gpl section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_gpl_section() const
-  {
-    if (!ksymtab_gpl_section_)
-      ksymtab_gpl_section_ =
-	elf_helpers::find_ksymtab_gpl_section(elf_handle());
-    return ksymtab_gpl_section_;
-  }
-
-  /// Return the .rel{a,}__ksymtab section of a linux kernel ELF file (either
-  /// a vmlinux binary or a kernel module).
-  ///
-  /// @return the .rel{a,}__ksymtab section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_reloc_section() const
-  {
-    if (!ksymtab_reloc_section_)
-	ksymtab_reloc_section_ =
-	  find_relocation_section(elf_handle(), find_ksymtab_section());
-    return ksymtab_reloc_section_;
-  }
-
-  /// Return the .rel{a,}__ksymtab_gpl section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the .rel{a,}__ksymtab_gpl section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_gpl_reloc_section() const
-  {
-    if (!ksymtab_gpl_reloc_section_)
-	ksymtab_gpl_reloc_section_ =
-	  find_relocation_section(elf_handle(), find_ksymtab_gpl_section());
-    return ksymtab_gpl_reloc_section_;
-  }
-
-  /// Return the __ksymtab_strings section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab_strings section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_strings_section() const
-  {
-    if (!ksymtab_strings_section_)
-      ksymtab_strings_section_ =
-	dwarf_reader::find_ksymtab_strings_section(elf_handle());
-    return ksymtab_strings_section_;
-  }
-
-  /// Return either a __ksymtab or a __ksymtab_gpl section, in case
-  /// only the __ksymtab_gpl exists.
-  ///
-  /// @return the __ksymtab section if it exists, or the
-  /// __ksymtab_gpl; or NULL if neither is found.
-  Elf_Scn*
-  find_any_ksymtab_section() const
-  {
-    Elf_Scn *result = find_ksymtab_section();
-    if (!result)
-      result = find_ksymtab_gpl_section();
-    return result;
-  }
-
-  /// Return either a .rel{a,}__ksymtab or a .rel{a,}__ksymtab_gpl section
-  ///
-  /// @return the .rel{a,}__ksymtab section if it exists, or the
-  /// .rel{a,}__ksymtab_gpl; or NULL if neither is found.
-  Elf_Scn*
-  find_any_ksymtab_reloc_section() const
-  {
-    Elf_Scn *result = find_ksymtab_reloc_section();
-    if (!result)
-      result = find_ksymtab_gpl_reloc_section();
-    return result;
-  }
-
   /// Lookup an elf symbol, referred to by its index, from the .symtab
   /// section.
   ///
@@ -5256,7 +5042,7 @@ public:
     elf_symbol::visibility vis =
       stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(native_sym.st_other));
 
-    Elf_Scn *strings_section = find_ksymtab_strings_section();
+    Elf_Scn* strings_section = find_ksymtab_strings_section(elf_handle());
     size_t strings_ndx = strings_section
       ? elf_ndxscn(strings_section)
       : 0;
@@ -5418,92 +5204,6 @@ public:
     return result;
   }
 
-  /// Given the address of the beginning of a function, lookup the
-  /// symbol of the function, build an instance of @ref elf_symbol out
-  /// of it and return it.
-  ///
-  /// @param symbol_start_addr the address of the beginning of the
-  /// function to consider.
-  ///
-  /// @param sym the resulting symbol.  This is set iff the function
-  /// returns true.
-  ///
-  /// @return the elf symbol found at address @p symbol_start_addr, or
-  /// nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_fn_symbol_from_address(GElf_Addr symbol_start_addr) const
-  {
-    addr_elf_symbol_sptr_map_type::const_iterator i,
-      nil = fun_entry_addr_sym_map().end();
-
-    if ((i = fun_entry_addr_sym_map().find(symbol_start_addr)) == nil)
-      return elf_symbol_sptr();
-
-    return i->second;
-  }
-
-  /// Given the address of a global variable, lookup the symbol of the
-  /// variable, build an instance of @ref elf_symbol out of it and
-  /// return it.
-  ///
-  /// @param symbol_start_addr the address of the beginning of the
-  /// variable to consider.
-  ///
-  /// @param the symbol found, iff the function returns true.
-  ///
-  /// @return the elf symbol found or nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_var_symbol_from_address(GElf_Addr symbol_start_addr) const
-  {
-    addr_elf_symbol_sptr_map_type::const_iterator i,
-      nil = var_addr_sym_map().end();
-
-    if ((i = var_addr_sym_map().find(symbol_start_addr)) == nil)
-      return elf_symbol_sptr();
-
-    return i->second;
-  }
-
-  /// Lookup an elf symbol, knowing its address.
-  ///
-  /// This function first looks for a function symbol having this
-  /// address; if it doesn't find any, then it looks for a variable
-  /// symbol.
-  ///
-  /// @param symbol_addr the address of the symbol of the symbol we
-  /// are looking for.  Note that the address is a relative offset
-  /// starting from the beginning of the .text section.  Addresses
-  /// that are presen in the symbol table (the one named .symtab).
-  ///
-  /// @return the elf symbol if found, or nil otherwise.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_address(GElf_Addr symbol_addr) const
-  {
-    elf_symbol_sptr result = lookup_elf_fn_symbol_from_address(symbol_addr);
-    if (!result)
-      result = lookup_elf_var_symbol_from_address(symbol_addr);
-    return result;
-  }
-
-  /// Look in the symbol tables of the underying elf file and see if
-  /// we find a symbol of a given name of function type.
-  ///
-  /// @param sym_name the name of the symbol to look for.
-  ///
-  /// @param syms the public function symbols that were found, with
-  /// the name @p sym_name.
-  ///
-  /// @return true iff the symbol was found.
-  bool
-  lookup_public_function_symbol_from_elf(const string&			sym_name,
-					 vector<elf_symbol_sptr>&	syms)
-  {
-    return dwarf_reader::lookup_public_function_symbol_from_elf(env(),
-								elf_handle(),
-								sym_name,
-								syms);
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5603,20 +5303,6 @@ public:
     return fun_addr_sym_map_;
   }
 
-  /// Getter for a pointer to the map that associates the address of
-  /// an entry point of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return a pointer to the map that associates the address of an
-  /// entry point of a function with the symbol of that function.
-  const addr_elf_symbol_sptr_map_sptr&
-  fun_entry_addr_sym_map_sptr() const
-  {return const_cast<read_context*>(this)->fun_entry_addr_sym_map_sptr();}
-
-
   /// Getter for the map that associates the address of an entry point
   /// of a function with the symbol of that function.
   ///
@@ -5630,19 +5316,6 @@ public:
   fun_entry_addr_sym_map()
   {return *fun_entry_addr_sym_map_sptr();}
 
-  /// Getter for the map that associates the address of an entry point
-  /// of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return the map that associates the address of an entry point of
-  /// a function with the symbol of that function.
-  const addr_elf_symbol_sptr_map_type&
-  fun_entry_addr_sym_map() const
-  { return *fun_entry_addr_sym_map_sptr();}
-
   /// Getter for the map of function symbols (name -> sym).
   ///
   /// @return a shared pointer to the map of function symbols.
@@ -5707,130 +5380,6 @@ public:
     return undefined_var_syms_;
   }
 
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of function symbols present in the __ksymtab
-  /// section
-  address_set_sptr&
-  linux_exported_fn_syms()
-  {return linux_exported_fn_syms_;}
-
-  /// Getter for the set of addresses of functions that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of function symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  const address_set_sptr&
-  linux_exported_fn_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_fn_syms();}
-
-  /// Create an empty set of addresses of functions exported from a
-  /// linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_fn_syms()
-  {
-    if (!linux_exported_fn_syms_)
-      linux_exported_fn_syms_.reset(new address_set_type);
-    return linux_exported_fn_syms_;
-  }
-
-  /// Getter for the set of addresses of v ariables that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of variable symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  linux_exported_var_syms()
-  {return linux_exported_var_syms_;}
-
-  /// Getter for the set of addresses of variables that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of variable symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  const address_set_sptr&
-  linux_exported_var_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_var_syms();}
-
-
-  /// Create an empty set of addresses of variables exported from a
-  /// linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_var_syms()
-  {
-    if (!linux_exported_var_syms_)
-      linux_exported_var_syms_.reset(new address_set_type);
-    return linux_exported_var_syms_;
-  }
-
-
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of function symbols present in the
-  /// __ksymtab_gpl section.
-  address_set_sptr&
-  linux_exported_gpl_fn_syms()
-  {return linux_exported_gpl_fn_syms_;}
-
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of function symbols present in the
-  /// __ksymtab_gpl section.
-  const address_set_sptr&
-  linux_exported_gpl_fn_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_gpl_fn_syms();}
-
-  /// Create an empty set of addresses of GPL functions exported from
-  /// a linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_gpl_fn_syms()
-  {
-    if (!linux_exported_gpl_fn_syms_)
-      linux_exported_gpl_fn_syms_.reset(new address_set_type);
-    return linux_exported_gpl_fn_syms_;
-  }
-
-  /// Getter for the set of addresses of variable symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of variable symbols present in the
-  /// __ksymtab_gpl section.
-  address_set_sptr&
-  linux_exported_gpl_var_syms()
-  {return linux_exported_gpl_var_syms_;}
-
-  /// Getter for the set of addresses of variable symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of variable symbols present in the
-  /// __ksymtab_gpl section.
-  const address_set_sptr&
-  linux_exported_gpl_var_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_gpl_var_syms();}
-
-  /// Create an empty set of addresses of GPL variables exported from
-  /// a linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_gpl_var_syms()
-  {
-    if (!linux_exported_gpl_var_syms_)
-      linux_exported_gpl_var_syms_.reset(new address_set_type);
-    return linux_exported_gpl_var_syms_;
-  }
-
   /// Getter for the ELF dt_needed tag.
   const vector<string>&
   dt_needed() const
@@ -5846,28 +5395,6 @@ public:
   elf_architecture() const
   {return elf_architecture_;}
 
-  /// Getter for the map of global variables symbol address -> global
-  /// variable symbol index.
-  ///
-  /// @return the map.  Note that this initializes the map once when
-  /// its nedded.
-  const addr_elf_symbol_sptr_map_type&
-  var_addr_sym_map() const
-  {return const_cast<read_context*>(this)->var_addr_sym_map();}
-
-  /// Getter for the map of global variables symbol address -> global
-  /// variable symbol index.
-  ///
-  /// @return the map.  Note that this initializes the map once when
-  /// its nedded.
-  addr_elf_symbol_sptr_map_type&
-  var_addr_sym_map()
-  {
-    if (!var_addr_sym_map_)
-      maybe_load_symbol_maps();
-    return *var_addr_sym_map_;
-  }
-
   /// Load the maps address -> function symbol, address -> variable
   /// symbol and the maps of function and variable undefined symbols.
   ///
@@ -6092,364 +5619,6 @@ public:
     return true;
   }
 
-  /// Try reading the first __ksymtab section entry.
-  ///
-  /// We lookup the symbol from the raw section passed as an argument. For
-  /// that, consider endianess and adjust for potential Elf relocations before
-  /// looking up the symbol in the .symtab section.
-  //
-  /// Optionally, support position relative relocations by considering the
-  /// ksymtab entry as 32 bit and applying the relocation relative to the
-  /// section header (i.e. the symbol position as we are reading the first
-  /// symbol).
-  ///
-  /// @param section the ksymtab section to consider.
-  ///
-  /// @param position_relative_relocations if true, then consider that
-  /// the section designated by @p section contains position-relative
-  /// relocated symbol addresses.
-  ///
-  /// @param symbol_offset if different from zero
-  /// If symbol_offset is != 0, adjust the position we consider the section
-  /// start. That is useful to read the ksymtab with a slight offset.
-  ///
-  /// Note, this function does not support relocatable ksymtab entries (as for
-  /// example in kernel modules). Using this function for ksymtabs where
-  /// relocations need to be applied for the entries we are reading here, will
-  /// yield wrong results.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol address we
-  /// got from reading the first entry of the ksymtab or null if no such entry
-  /// could be found.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry(Elf_Scn* section,
-				  bool position_relative_relocations,
-				  int  symbol_offset = 0) const
-  {
-    Elf_Data*	    elf_data = elf_rawdata(section, 0);
-    uint8_t*	    bytes = reinterpret_cast<uint8_t*>(elf_data->d_buf);
-    bool	    is_big_endian = architecture_is_big_endian(elf_handle());
-    elf_symbol_sptr symbol;
-    GElf_Addr	    symbol_address = 0;
-
-    unsigned char symbol_value_size;
-    if (position_relative_relocations)
-      symbol_value_size = sizeof(int32_t);
-    else
-      symbol_value_size = get_architecture_word_size(elf_handle());
-
-    const int read_offset = (symbol_offset * symbol_value_size);
-    bytes += read_offset;
-
-    if (position_relative_relocations)
-      {
-	int32_t offset = 0;
-	ABG_ASSERT(read_int_from_array_of_bytes(bytes, symbol_value_size,
-						is_big_endian, offset));
-	GElf_Shdr section_header;
-	gelf_getshdr(section, &section_header);
-	// the actual symbol address is relative to its position. Since we do
-	// not know the position, we take the beginning of the section, add the
-	// read_offset that we might have and finally apply the offset we
-	// read from the section.
-	symbol_address = section_header.sh_addr + read_offset + offset;
-      }
-    else
-      ABG_ASSERT(read_int_from_array_of_bytes(bytes, symbol_value_size,
-					      is_big_endian, symbol_address));
-
-    symbol_address = maybe_adjust_fn_sym_address(symbol_address);
-    symbol = lookup_elf_symbol_from_address(symbol_address);
-    return symbol;
-  }
-
-  /// Try reading the first __ksymtab section entry as if it is in the
-  /// pre-v4_19 format, that is without position relative relocations.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol
-  /// address we got from reading the first entry of the ksymtab
-  /// section assuming the pre-v4.19 format. If null, it means the
-  /// __ksymtab section is not in the pre-v4.19 format.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry_using_pre_v4_19_format() const
-  {
-    Elf_Scn *section = find_any_ksymtab_section();
-    return try_reading_first_ksymtab_entry(section, false);
-  }
-
-  /// Try reading the first __ksymtab section entry as if it is in the
-  /// v4_19 format, that is with position relative relocations.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol
-  /// address we got from reading the first entry of the ksymtab
-  /// section assuming the v4.19 format. If null, it means the
-  /// __ksymtab section is not in the v4.19 format.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry_using_v4_19_format() const
-  {
-    Elf_Scn *section = find_any_ksymtab_section();
-    return try_reading_first_ksymtab_entry(section, true);
-  }
-
-  /// Try to determine the format of the __ksymtab and __ksymtab_gpl
-  /// sections of Linux kernel modules.
-  ///
-  /// This is important because we need to know the format of these
-  /// sections to be able to read from them.
-  ///
-  /// @return the format the __ksymtab[_gpl] sections.
-  enum ksymtab_format
-  get_ksymtab_format_module() const
-  {
-    Elf_Scn *section = find_any_ksymtab_reloc_section();
-
-    ABG_ASSERT(section);
-
-    // Libdwfl has a weird quirk where, in the process of obtaining an Elf
-    // descriptor via dwfl_module_getelf(), it will apply all relocations it
-    // knows how to and it will zero the relocation info after applying it. If
-    // the .rela__ksymtab* section contained only simple (absolute) relocations,
-    // they will have been all applied and sh_size will be 0. For arches that
-    // support relative ksymtabs, simple relocations only appear in pre-4.19
-    // kernel modules.
-    GElf_Shdr section_mem;
-    GElf_Shdr *section_shdr = gelf_getshdr(section, &section_mem);
-    if (section_shdr->sh_size == 0)
-      return PRE_V4_19_KSYMTAB_FORMAT;
-
-    bool is_relasec = (section_shdr->sh_type == SHT_RELA);
-
-    // If we still have a normal non-zeroed relocation section, we can guess
-    // what format the ksymtab is in depending on what types of relocs it
-    // contains.
-
-    uint64_t type;
-    Elf_Data *section_data = elf_getdata(section, 0);
-    if (is_relasec)
-      {
-	GElf_Rela rela;
-	gelf_getrela(section_data, 0, &rela);
-	type = GELF_R_TYPE(rela.r_info);
-      }
-    else
-      {
-	GElf_Rel rel;
-	gelf_getrel(section_data, 0, &rel);
-	type = GELF_R_TYPE(rel.r_info);
-      }
-
-    // Sigh, I dislike the arch-dependent code here, but this seems to be a
-    // reliable heuristic for kernel modules for now. Relative ksymtabs only
-    // supported on x86 and arm64 as of v4.19.
-    ksymtab_format format;
-    switch (type)
-      {
-      case R_X86_64_64: // Same as R_386_32, fallthrough
-#ifdef HAVE_R_AARCH64_ABS64_MACRO
-      case R_AARCH64_ABS64:
-#endif
-	format = PRE_V4_19_KSYMTAB_FORMAT;
-	break;
-      case R_X86_64_PC32: // Same as R_386_PC32, fallthrough
-#ifdef HAVE_R_AARCH64_PREL32_MACRO
-      case R_AARCH64_PREL32:
-#endif
-	format = V4_19_KSYMTAB_FORMAT;
-	break;
-      default:
-	// Fall back to other methods of determining the ksymtab format.
-	format = UNDEFINED_KSYMTAB_FORMAT;
-	break;
-      }
-    return format;
-  }
-
-  /// Determine the format of the __ksymtab and __ksymtab_gpl
-  /// sections.
-  ///
-  /// This is important because we need the know the format of these
-  /// sections to be able to read from them.
-  ///
-  /// @return the format the __ksymtab[_gpl] sections.
-  enum ksymtab_format
-  get_ksymtab_format() const
-  {
-    if (!find_any_ksymtab_section())
-      ksymtab_format_ = UNDEFINED_KSYMTAB_FORMAT;
-    else
-      {
-	if (ksymtab_format_ == UNDEFINED_KSYMTAB_FORMAT)
-	  {
-	    // Since Linux kernel modules are relocatable, we can first try
-	    // using a heuristic based on relocations to guess the ksymtab format.
-	    if (is_linux_kernel_module(elf_handle()))
-	     {
-	       ksymtab_format_ = get_ksymtab_format_module();
-	       if (ksymtab_format_ != UNDEFINED_KSYMTAB_FORMAT)
-		  return ksymtab_format_;
-	     }
-
-	    // If it's not a kernel module or we couldn't determine its format
-	    // with relocations, fall back to the heuristics below.
-
-	    // OK this is a dirty little heuristic to determine the
-	    // format of the ksymtab section.
-	    //
-	    // We try to read the first ksymtab entry assuming a
-	    // pre-v4.19 format.  If that succeeds then we are in the
-	    // pr-v4.19 format.  Otherwise, try reading it assuming a
-	    // v4.19 format.  For now, we just support
-	    // PRE_V4_19_KSYMTAB_FORMAT and V4_19_KSYMTAB_FORMAT.
-	    if (try_reading_first_ksymtab_entry_using_pre_v4_19_format())
-	      ksymtab_format_ = PRE_V4_19_KSYMTAB_FORMAT;
-	    else if (try_reading_first_ksymtab_entry_using_v4_19_format())
-	      ksymtab_format_ = V4_19_KSYMTAB_FORMAT;
-	    else
-	      // If a new format emerges, then we need to add its
-	      // support above.
-	      ABG_ASSERT_NOT_REACHED;
-	  }
-      }
-    return ksymtab_format_;
-  }
-
-  /// Getter of the size of the symbol value part of an entry of the
-  /// ksymtab section.
-  ///
-  /// @return the size of the symbol value part of the entry of the
-  /// ksymtab section.
-  unsigned char
-  get_ksymtab_symbol_value_size() const
-  {
-    unsigned char result = 0;
-    ksymtab_format format = get_ksymtab_format();
-    if (format == UNDEFINED_KSYMTAB_FORMAT)
-      ;
-    else if (format == PRE_V4_19_KSYMTAB_FORMAT)
-      result = get_architecture_word_size(elf_handle());
-    else if (format == V4_19_KSYMTAB_FORMAT)
-      result = 4;
-    else
-      ABG_ASSERT_NOT_REACHED;
-
-    return result;
-  }
-
-  /// Getter of the size of one entry of the ksymtab section.
-  ///
-  /// @return the size of one entry of the ksymtab section.
-  unsigned char
-  get_ksymtab_entry_size() const
-  {
-    if (ksymtab_entry_size_ == 0)
-      {
-	const unsigned char symbol_size = get_ksymtab_symbol_value_size();
-	Elf_Scn*	    ksymtab = find_any_ksymtab_section();
-	if (ksymtab)
-	  {
-	    GElf_Shdr ksymtab_shdr;
-	    gelf_getshdr(ksymtab, &ksymtab_shdr);
-
-	    // ksymtab entries have the following layout
-	    //
-	    // struct {
-	    //  T symbol_address;  // .symtab entry
-	    //  T name_address;    // .strtab entry
-	    // }
-	    //
-	    // with T being a suitable type to represent the absolute,
-	    // relocatable or position relative value of the address. T's size
-	    // is determined by get_ksymtab_symbol_value_size().
-	    //
-	    // Since Kernel v5.4, the entries have the following layout
-	    //
-	    // struct {
-	    //  T symbol_address;  // .symtab entry
-	    //  T name_address;    // .strtab entry
-	    //  T namespace;       // .strtab entry
-	    // }
-	    //
-	    // To determine the ksymtab entry size, find the next entry that
-	    // refers to a valid .symtab entry. The offset to that one is what
-	    // we are searching for.
-	    for (unsigned entries = 2; entries <= 3; ++entries)
-	      {
-		const unsigned candidate_size = entries * symbol_size;
-
-		// if there is exactly one entry, section size == entry size
-		// (this looks like an optimization, but in fact it prevents
-		// from illegal reads if there is actually only one entry)
-		if (ksymtab_shdr.sh_size == candidate_size)
-		  {
-		    ksymtab_entry_size_ = candidate_size;
-		    break;
-		  }
-
-		// otherwise check whether the symbol following the candidate
-		// number of entries is a valid ELF symbol. For that we read
-		// the ksymtab with the given offset and if the symbol is
-		// valid, we found our entry size.
-		const ksymtab_format format = get_ksymtab_format();
-		if (try_reading_first_ksymtab_entry
-		    (ksymtab, format == V4_19_KSYMTAB_FORMAT, entries))
-		  {
-		    ksymtab_entry_size_ = candidate_size;
-		    break;
-		  }
-	      }
-	    ABG_ASSERT(ksymtab_entry_size_ != 0);
-	  }
-      }
-
-    return ksymtab_entry_size_;
-  }
-
-  /// Getter of the number of entries that are present in the ksymtab
-  /// section.
-  ///
-  /// @return the number of entries that are present in the ksymtab
-  /// section.
-  size_t
-  get_nb_ksymtab_entries() const
-  {
-    if (nb_ksymtab_entries_ == 0)
-      {
-	Elf_Scn *section = find_ksymtab_section();
-	if (section)
-	  {
-	    GElf_Shdr header_mem;
-	    GElf_Shdr *section_header = gelf_getshdr(section, &header_mem);
-	    size_t entry_size = get_ksymtab_entry_size();
-	    ABG_ASSERT(entry_size);
-	    nb_ksymtab_entries_ = section_header->sh_size / entry_size;
-	  }
-      }
-    return nb_ksymtab_entries_;
-  }
-
-  /// Getter of the number of entries that are present in the
-  /// ksymtab_gpl section.
-  ///
-  /// @return the number of entries that are present in the
-  /// ksymtab_gpl section.
-  size_t
-  get_nb_ksymtab_gpl_entries()
-  {
-    if (nb_ksymtab_gpl_entries_ == 0)
-      {
-	Elf_Scn *section = find_ksymtab_gpl_section();
-	if (section)
-	  {
-	    GElf_Shdr header_mem;
-	    GElf_Shdr *section_header = gelf_getshdr(section, &header_mem);
-	    size_t entry_size = get_ksymtab_entry_size();
-	    ABG_ASSERT(entry_size);
-	    nb_ksymtab_gpl_entries_ = section_header->sh_size / entry_size;
-	  }
-      }
-    return nb_ksymtab_gpl_entries_;
-  }
-
   /// Test if a given ELF symbol was suppressed by a suppression
   /// specification.
   ///
@@ -6465,328 +5634,6 @@ public:
 					       symbol->get_type()));
   }
 
-  /// Populate the symbol map by reading exported symbols from the
-  /// ksymtab directly.
-  ///
-  /// @param section the ksymtab section to read from
-  ///
-  /// @param exported_fns_set the set of exported functions
-  ///
-  /// @param exported_vars_set the set of exported variables
-  ///
-  /// @param nb_entries the number of ksymtab entries to read
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  populate_symbol_map_from_ksymtab(Elf_Scn *section,
-                                   address_set_sptr exported_fns_set,
-                                   address_set_sptr exported_vars_set,
-                                   size_t nb_entries)
-  {
-    // The data of the section.
-    Elf_Data *elf_data = elf_rawdata(section, 0);
-
-    // An array-of-bytes view of the elf data above.  Something we can
-    // actually program with.  Phew.
-    uint8_t *bytes = reinterpret_cast<uint8_t*>(elf_data->d_buf);
-
-    // This is where to store an address of a symbol that we read from
-    // the section.
-    GElf_Addr symbol_address = 0, adjusted_symbol_address = 0;
-
-    // So the section is an array of entries.  Each entry describes a
-    // symbol.  Each entry is made of two words.
-    //
-    // The first word is the address of a symbol.  The second one is
-    // the address of a static global variable symbol which value is
-    // the string representing the symbol name.  That string is in the
-    // __ksymtab_strings section.  Here, we are only interested in the
-    // first entry.
-    //
-    // Lets thus walk the array of entries, and let's read just the
-    // symbol address part of each entry.
-    bool is_big_endian = architecture_is_big_endian(elf_handle());
-    elf_symbol_sptr symbol;
-    unsigned char symbol_value_size = get_ksymtab_symbol_value_size();
-
-    for (size_t i = 0, entry_offset = 0;
-	 i < nb_entries;
-	 ++i, entry_offset = get_ksymtab_entry_size() * i)
-      {
-	symbol_address = 0;
-	ABG_ASSERT(read_int_from_array_of_bytes(&bytes[entry_offset],
-						symbol_value_size,
-						is_big_endian,
-						symbol_address));
-
-	// Starting from linux kernel v4.19, it can happen that the
-	// address value read from the ksymtab[_gpl] section might
-	// need some decoding to get the real symbol address that has
-	// a meaning in the .symbol section.
-	symbol_address =
-	  maybe_adjust_sym_address_from_v4_19_ksymtab(symbol_address,
-						      entry_offset, section);
-
-	// We might also want to adjust the symbol address, depending
-	// on if we are looking at an ET_REL, an executable or a
-	// shared object binary.
-	adjusted_symbol_address = maybe_adjust_fn_sym_address(symbol_address);
-
-	if (adjusted_symbol_address == 0)
-	  // The resulting symbol address is zero, not sure this
-	  // valid; ignore it.
-	  continue;
-
-	// OK now the symbol address should be in a suitable form to
-	// be used to look the symbol up in the usual .symbol section
-	// (aka ELF symbol table).
-	symbol = lookup_elf_symbol_from_address(adjusted_symbol_address);
-	if (!symbol)
-	  {
-	    adjusted_symbol_address =
-	      maybe_adjust_var_sym_address(symbol_address);
-	    symbol = lookup_elf_symbol_from_address(adjusted_symbol_address);
-	    if (!symbol)
-	      // This must be a symbol that is of type neither FUNC
-	      // (function) nor OBJECT (variable).  There are for intance,
-	      // symbols of type 'NOTYPE' in the ksymtab symbol table.  I
-	      // am not sure what those are.
-	      continue;
-	  }
-
-	// If the symbol was suppressed by a suppression
-	// specification then drop it on the floor.
-	if (is_elf_symbol_suppressed(symbol))
-	  continue;
-
-	address_set_sptr set;
-	if (symbol->is_function())
-	  {
-	    ABG_ASSERT(lookup_elf_fn_symbol_from_address
-		       (adjusted_symbol_address));
-	    set = exported_fns_set;
-	  }
-	else if (symbol->is_variable())
-	  {
-	    ABG_ASSERT(lookup_elf_var_symbol_from_address
-		       (adjusted_symbol_address));
-	    set = exported_vars_set;
-	  }
-	else
-	  ABG_ASSERT_NOT_REACHED;
-	set->insert(adjusted_symbol_address);
-      }
-    return true;
-  }
-
-  /// Populate the symbol map by extracting the exported symbols from a
-  /// ksymtab rela section.
-  ///
-  /// @param section the ksymtab section to read from
-  ///
-  /// @param exported_fns_set the set of exported functions
-  ///
-  /// @param exported_vars_set the set of exported variables
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  populate_symbol_map_from_ksymtab_reloc(Elf_Scn *reloc_section,
-                                         address_set_sptr exported_fns_set,
-                                         address_set_sptr exported_vars_set)
-  {
-    GElf_Shdr reloc_section_mem;
-    GElf_Shdr *reloc_section_shdr = gelf_getshdr(reloc_section,
-						 &reloc_section_mem);
-    size_t reloc_count =
-      reloc_section_shdr->sh_size / reloc_section_shdr->sh_entsize;
-
-    Elf_Data *reloc_section_data = elf_getdata(reloc_section, 0);
-
-    bool is_relasec = (reloc_section_shdr->sh_type == SHT_RELA);
-    elf_symbol_sptr symbol;
-    GElf_Sym native_symbol;
-    for (unsigned int i = 0; i < reloc_count; i++)
-      {
-	if (is_relasec)
-	  {
-	    GElf_Rela rela;
-	    gelf_getrela(reloc_section_data, i, &rela);
-	    symbol = lookup_elf_symbol_from_index(GELF_R_SYM(rela.r_info),
-						  native_symbol);
-	  }
-	else
-	  {
-	    GElf_Rel rel;
-	    gelf_getrel(reloc_section_data, i, &rel);
-	    symbol = lookup_elf_symbol_from_index(GELF_R_SYM(rel.r_info),
-						  native_symbol);
-	  }
-
-	ABG_ASSERT(symbol);
-
-        // If the symbol is a linux string constant then ignore it.
-	if (symbol->get_is_linux_string_cst())
-	  continue;
-
-	if (!symbol->is_function() && !symbol->is_variable())
-	  {
-	    if (do_log())
-	      {
-		if (symbol->get_type() == elf_symbol::NOTYPE_TYPE)
-		  cerr << "skipping NOTYPE symbol "
-		       << symbol->get_name()
-		       << " shndx: "
-		       << symbol->get_index()
-		       << " @"
-		       << elf_path()
-		       << "\n";
-		else if (symbol->get_type() == elf_symbol::SECTION_TYPE)
-		  cerr << "skipping SECTION symbol "
-		       << "shndx: "
-		       << symbol->get_index()
-		       << " @"
-		       << elf_path()
-		       << "\n";
-	       }
-	    continue;
-	  }
-
-	// If the symbol was suppressed by a suppression
-	// specification then drop it on the floor.
-	if (is_elf_symbol_suppressed(symbol))
-	  continue;
-
-	// If we are looking at an ET_REL (relocatable) binary, then
-	// the symbol value of native_symbol is relative to the
-	// section that symbol is defined in.  We need to translate it
-	// into an absolute (okay, binary-relative, rather) address.
-	GElf_Addr symbol_address =
-	  maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-						   &native_symbol);
-
-	address_set_sptr set;
-	if (symbol->is_function())
-	  {
-	    ABG_ASSERT(lookup_elf_fn_symbol_from_address(symbol_address));
-	    set = exported_fns_set;
-	  }
-	else if (symbol->is_variable())
-	  {
-	    ABG_ASSERT(lookup_elf_var_symbol_from_address(symbol_address));
-	    set = exported_vars_set;
-	  }
-	else
-	  ABG_ASSERT_NOT_REACHED;
-	set->insert(symbol_address);
-      }
-    return true;
-  }
-
-  /// Load a given kernel symbol table.
-  ///
-  /// One can thus retrieve the resulting symbols by using the
-  /// accessors read_context::linux_exported_fn_syms(),
-  /// read_context::linux_exported_var_syms(),
-  /// read_context::linux_exported_gpl_fn_syms(), or
-  /// read_context::linux_exported_gpl_var_syms().
-  ///
-  /// @param kind the kind of kernel symbol table to load.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_kernel_symbol_table(kernel_symbol_table_kind kind)
-  {
-    Elf_Scn *section = 0, *reloc_section = 0;
-    address_set_sptr linux_exported_fns_set, linux_exported_vars_set;
-
-    switch (kind)
-      {
-      case KERNEL_SYMBOL_TABLE_KIND_UNDEFINED:
-	break;
-      case KERNEL_SYMBOL_TABLE_KIND_KSYMTAB:
-	section = find_ksymtab_section();
-	reloc_section = find_ksymtab_reloc_section();
-	linux_exported_fns_set = create_or_get_linux_exported_fn_syms();
-	linux_exported_vars_set = create_or_get_linux_exported_var_syms();
-	break;
-      case KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL:
-	section = find_ksymtab_gpl_section();
-	reloc_section = find_ksymtab_gpl_reloc_section();
-	linux_exported_fns_set = create_or_get_linux_exported_gpl_fn_syms();
-	linux_exported_vars_set = create_or_get_linux_exported_gpl_var_syms();
-	break;
-      }
-
-    if (!linux_exported_vars_set || !linux_exported_fns_set || !section)
-      return false;
-
-    ksymtab_format format = get_ksymtab_format();
-
-    // Although pre-v4.19 kernel modules can have a relocation section for the
-    // __ksymtab section, libdwfl zeroes the rela section after applying
-    // "simple" absolute relocations via dwfl_module_getelf(). For v4.19 and
-    // above, we get PC-relative relocations so dwfl_module_getelf() doesn't
-    // apply those relocations and we're safe to read the relocation section to
-    // determine which exported symbols are in the ksymtab.
-    if (!reloc_section || format == PRE_V4_19_KSYMTAB_FORMAT)
-      {
-	size_t nb_entries = 0;
-	if (kind == KERNEL_SYMBOL_TABLE_KIND_KSYMTAB)
-	  nb_entries = get_nb_ksymtab_entries();
-	else if (kind == KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL)
-	  nb_entries = get_nb_ksymtab_gpl_entries();
-
-	if (!nb_entries)
-	  return false;
-
-	return populate_symbol_map_from_ksymtab(
-	    section, linux_exported_fns_set, linux_exported_vars_set,
-	    nb_entries);
-      }
-    else
-      return populate_symbol_map_from_ksymtab_reloc(reloc_section,
-                                                    linux_exported_fns_set,
-                                                    linux_exported_vars_set);
-  }
-
-  /// Load the special __ksymtab section. This is for linux kernel
-  /// (module) files.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_ksymtab_symbols()
-  {
-    return load_kernel_symbol_table(KERNEL_SYMBOL_TABLE_KIND_KSYMTAB);
-  }
-
-  /// Load the special __ksymtab_gpl section. This is for linux kernel
-  /// (module) files.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_ksymtab_gpl_symbols()
-  {
-    return load_kernel_symbol_table(KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL);
-  }
-
-  /// Load linux kernel (module) specific exported symbol sections.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_linux_specific_exported_symbol_maps()
-  {
-    bool loaded = false;
-    if (!linux_exported_fn_syms_
-	|| !linux_exported_var_syms_)
-      loaded |= load_ksymtab_symbols();
-
-    if (!linux_exported_gpl_fn_syms_
-	|| !linux_exported_gpl_var_syms_)
-      loaded |= load_ksymtab_gpl_symbols();
-
-    return loaded;
-  }
-
   /// Load the maps of function symbol address -> function symbol,
   /// global variable symbol address -> variable symbol and also the
   /// maps of function and variable undefined symbols.
@@ -6829,11 +5676,7 @@ public:
 						 load_var_map,
 						 load_undefined_fun_map,
 						 load_undefined_var_map))
-	  {
-	    if (load_in_linux_kernel_mode() && is_linux_kernel(elf_handle()))
-	      return load_linux_specific_exported_symbol_maps();
 	    return true;
-	  }
 	return false;
       }
     return true;
@@ -6913,36 +5756,6 @@ public:
     load_elf_architecture();
   }
 
-  /// Convert the value of the symbol address part of a post V4.19
-  /// ksymtab entry (that contains place-relative addresses) into its
-  /// corresponding symbol value in the .symtab section.  The value of
-  /// the symbol in .symtab equals to addr_offset + address-of-ksymtab
-  /// + addr.
-  ///
-  /// @param addr the address read from the ksymtab section.
-  ///
-  /// @param addr_offset the offset at which @p addr was read.
-  ///
-  /// @param ksymtab_section the kymstab section @p addr was read
-  /// from.
-  GElf_Addr
-  maybe_adjust_sym_address_from_v4_19_ksymtab(GElf_Addr addr,
-					      size_t addr_offset,
-					      Elf_Scn *ksymtab_section) const
-  {
-    GElf_Addr result = addr;
-
-    if (get_ksymtab_format() == V4_19_KSYMTAB_FORMAT)
-      {
-	int32_t offset = addr;
-	GElf_Shdr mem;
-	GElf_Shdr *section_header = gelf_getshdr(ksymtab_section, &mem);
-	result = offset + section_header->sh_addr + addr_offset;
-      }
-
-    return result;
-  }
-
   /// This is a sub-routine of maybe_adjust_fn_sym_address and
   /// maybe_adjust_var_sym_address.
   ///
@@ -15374,34 +14187,6 @@ build_function_decl(read_context&	ctxt,
   return result;
 }
 
-/// Add a set of addresses (representing function symbols) to a
-/// function symbol name -> symbol map.
-///
-/// For a given symbol address, the function retrieves the name of the
-/// symbol as well as the symbol itself and inserts an entry {symbol
-/// name, symbol} into a map of symbol name -> symbol map.
-///
-/// @param syms the set of symbol addresses to consider.
-///
-/// @param map the map to populate.
-///
-/// @param ctxt the context in which we are loading a given ELF file.
-static void
-add_fn_symbols_to_map(address_set_type& syms,
-		      string_elf_symbols_map_type& map,
-		      read_context& ctxt)
-{
-  for (address_set_type::iterator i = syms.begin(); i != syms.end(); ++i)
-    {
-      elf_symbol_sptr sym = ctxt.lookup_elf_fn_symbol_from_address(*i);
-      ABG_ASSERT(sym);
-      string_elf_symbols_map_type::iterator it =
-	ctxt.fun_syms().find(sym->get_name());
-      ABG_ASSERT(it != ctxt.fun_syms().end());
-      map.insert(*it);
-    }
-}
-
 /// Add a symbol to a symbol map.
 ///
 /// @param sym the symbol to add.
@@ -15425,34 +14210,6 @@ add_symbol_to_map(const elf_symbol_sptr& sym,
     it->second.push_back(sym);
 }
 
-/// Add a set of addresses (representing variable symbols) to a
-/// variable symbol name -> symbol map.
-///
-/// For a given symbol address, the variable retrieves the name of the
-/// symbol as well as the symbol itself and inserts an entry {symbol
-/// name, symbol} into a map of symbol name -> symbol map.
-///
-/// @param syms the set of symbol addresses to consider.
-///
-/// @param map the map to populate.
-///
-/// @param ctxt the context in which we are loading a given ELF file.
-static void
-add_var_symbols_to_map(address_set_type& syms,
-		       string_elf_symbols_map_type& map,
-		       read_context& ctxt)
-{
-  for (address_set_type::iterator i = syms.begin(); i != syms.end(); ++i)
-    {
-      elf_symbol_sptr sym = ctxt.lookup_elf_var_symbol_from_address(*i);
-      ABG_ASSERT(sym);
-      string_elf_symbols_map_type::iterator it =
-	ctxt.var_syms().find(sym->get_name());
-      ABG_ASSERT(it != ctxt.var_syms().end());
-      map.insert(*it);
-    }
-}
-
 /// Read all @ref abigail::translation_unit possible from the debug info
 /// accessible through a DWARF Front End Library handle, and stuff
 /// them into a libabigail ABI Corpus.
@@ -15496,22 +14253,29 @@ read_debug_info_into_corpus(read_context& ctxt)
 	{
 	  string_elf_symbols_map_sptr exported_fn_symbols_map
 	    (new string_elf_symbols_map_type);
-	  add_fn_symbols_to_map(*ctxt.linux_exported_fn_syms(),
-				*exported_fn_symbols_map,
-				ctxt);
-	  add_fn_symbols_to_map(*ctxt.linux_exported_gpl_fn_syms(),
-				*exported_fn_symbols_map,
-				ctxt);
+	  symtab_reader::symtab_filter filter =
+	      ctxt.symtab()->make_filter().functions();
+
+	  for (symtab_reader::symtab::const_iterator
+		   it = ctxt.symtab()->begin(filter),
+		   end = ctxt.symtab()->end();
+	       it != end; ++it)
+	    {
+	      (*exported_fn_symbols_map)[(*it)->get_name()].push_back(*it);
+	    }
+
 	  ctxt.current_corpus()->set_fun_symbol_map(exported_fn_symbols_map);
 
-	  string_elf_symbols_map_sptr exported_var_symbols_map
-	    (new string_elf_symbols_map_type);
-	  add_var_symbols_to_map(*ctxt.linux_exported_var_syms(),
-				 *exported_var_symbols_map,
-				 ctxt);
-	  add_var_symbols_to_map(*ctxt.linux_exported_gpl_var_syms(),
-				 *exported_var_symbols_map,
-				 ctxt);
+	  string_elf_symbols_map_sptr exported_var_symbols_map(
+	      new string_elf_symbols_map_type);
+	  filter = ctxt.symtab()->make_filter().variables();
+	  for (symtab_reader::symtab::const_iterator
+		   it = ctxt.symtab()->begin(filter),
+		   end = ctxt.symtab()->end();
+	       it != end; ++it)
+	    {
+	      (*exported_var_symbols_map)[(*it)->get_name()].push_back(*it);
+	    }
 	  ctxt.current_corpus()->set_var_symbol_map(exported_var_symbols_map);
 	}
       else
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 13/21] abg-elf-helpers: migrate ppc64 specific helpers
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (11 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 12/21] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 14/21] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
                     ` (8 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

This migrates more helpers to abg-elf-helpers:
  lookup_ppc64_elf_fn_entry_point_address  with dependencies
    read_uint64_from_array_of_bytes
    read_int_from_array_of_bytes

  address_is_in_opd_section  with dependency
    address_is_in_section

read_context::find_opd_section and read_context::opd_section_ are obsolete.

	* src/abg-dwarf-reader.cc (read_context::opd_section_): Delete.
	(read_context::find_opd_section): Delete.
	(read_context::read_uint64_from_array_of_bytes): Delete.
	(read_context::read_int_from_array_of_bytes): Delete.
	(read_context::lookup_ppc64_elf_fn_entry_point_address): Delete.
	(read_context::address_is_in_opd_section): Delete.
	(read_context::address_is_in_section): Delete.
	(read_context::load_symbol_maps_from_symtab_section): Adjust.
	* src/abg-elf-helpers.cc (read_int_from_array_of_bytes): New.
	(read_uint64_from_array_of_bytes): New.
	(lookup_ppc64_elf_fn_entry_point_address): New.
	(address_is_in_section): New.
	(address_is_in_opd_section): New.
	* src/abg-elf-helpers.h
	(lookup_ppc64_elf_fn_entry_point_address): New declaration.
	(address_is_in_opd_section): New declaration.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 208 +---------------------------------------
 src/abg-elf-helpers.cc  | 186 +++++++++++++++++++++++++++++++++++
 src/abg-elf-helpers.h   |   8 ++
 3 files changed, 198 insertions(+), 204 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index d90c0a3fe56a..47d561452b05 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -2075,10 +2075,6 @@ public:
   mutable Elf*			elf_handle_;
   string			elf_path_;
   mutable Elf_Scn*		symtab_section_;
-  // The "Official procedure descriptor section, aka .opd", used in
-  // ppc64 elf v1 binaries.  This section contains the procedure
-  // descriptors on that platform.
-  mutable Elf_Scn*		opd_section_;
   Dwarf_Die*			cur_tu_die_;
   mutable dwarf_expr_eval_context	dwarf_expr_eval_context_;
   // A set of maps (one per kind of die source) that associates a decl
@@ -2258,7 +2254,6 @@ public:
     elf_handle_ = 0;
     elf_path_ = elf_path;
     symtab_section_ = 0;
-    opd_section_ = 0;
     cur_tu_die_ =  0;
     exported_decls_builder_ = 0;
 
@@ -4934,19 +4929,6 @@ public:
     return symtab_section_;
   }
 
-  /// Return the "Official Procedure descriptors section."  This
-  /// section is named .opd, and is usually present only on PPC64
-  /// ELFv1 binaries.
-  ///
-  /// @return the .opd section, if found.  Return nil otherwise.
-  Elf_Scn*
-  find_opd_section() const
-  {
-    if (!opd_section_)
-      opd_section_ = elf_helpers::find_opd_section(elf_handle());
-    return opd_section_;
-  }
-
   /// Lookup an elf symbol, referred to by its index, from the .symtab
   /// section.
   ///
@@ -5058,152 +5040,6 @@ public:
     return sym;
   }
 
-  /// Read 8 bytes and convert their value into an uint64_t.
-  ///
-  /// @param bytes the array of bytes to read the next 8 bytes from.
-  /// Note that this array must be at least 8 bytes long.
-  ///
-  /// @param result where to store the resuting uint64_t that was read.
-  ///
-  /// @param is_big_endian if true, read the 8 bytes in Big Endian
-  /// mode, otherwise, read them in Little Endian.
-  ///
-  /// @param true if the 8 bytes could be read, false otherwise.
-  bool
-  read_uint64_from_array_of_bytes(const uint8_t	*bytes,
-				  bool			is_big_endian,
-				  uint64_t		&result) const
-  {
-    return read_int_from_array_of_bytes(bytes, 8, is_big_endian, result);
-  }
-
-  /// Read N bytes and convert their value into an integer type T.
-  ///
-  /// Note that N cannot be bigger than 8 for now. The type passed needs to be
-  /// at least of the size of number_of_bytes.
-  ///
-  /// @param bytes the array of bytes to read the next 8 bytes from.
-  /// Note that this array must be at least 8 bytes long.
-  ///
-  /// @param number_of_bytes the number of bytes to read.  This number
-  /// cannot be bigger than 8.
-  ///
-  /// @param is_big_endian if true, read the 8 bytes in Big Endian
-  /// mode, otherwise, read them in Little Endian.
-  ///
-  /// @param result where to store the resuting integer that was read.
-  ///
-  ///
-  /// @param true if the 8 bytes could be read, false otherwise.
-  template<typename T>
-  bool
-  read_int_from_array_of_bytes(const uint8_t	*bytes,
-			       unsigned char	number_of_bytes,
-			       bool		is_big_endian,
-			       T		&result) const
-  {
-    if (!bytes)
-      return false;
-
-    ABG_ASSERT(number_of_bytes <= 8);
-    ABG_ASSERT(number_of_bytes <= sizeof(T));
-
-    T res = 0;
-
-    const uint8_t *cur = bytes;
-    if (is_big_endian)
-      {
-	// In Big Endian, the most significant byte is at the lowest
-	// address.
-	const uint8_t* msb = cur;
-	res = *msb;
-
-	// Now read the remaining least significant bytes.
-	for (uint i = 1; i < number_of_bytes; ++i)
-	  res = (res << 8) | ((T)msb[i]);
-      }
-    else
-      {
-	// In Little Endian, the least significant byte is at the
-	// lowest address.
-	const uint8_t* lsb = cur;
-	res = *lsb;
-	// Now read the remaining most significant bytes.
-	for (uint i = 1; i < number_of_bytes; ++i)
-	  res = res | (((T)lsb[i]) << i * 8);
-      }
-
-    result = res;
-    return true;
-  }
-
-  /// Lookup the address of the function entry point that corresponds
-  /// to the address of a given function descriptor.
-  ///
-  /// On PPC64, a function pointer is the address of a function
-  /// descriptor.  Function descriptors are located in the .opd
-  /// section.  Each function descriptor is a triplet of three
-  /// addresses, each one on 64 bits.  Among those three address only
-  /// the first one is of any interest to us: the address of the entry
-  /// point of the function.
-  ///
-  /// This function returns the address of the entry point of the
-  /// function whose descriptor's address is given.
-  ///
-  /// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES
-  ///
-  /// https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/deeply_understand_64_bit_powerpc_elf_abi_function_descriptors?lang=en
-  ///
-  /// @param fn_desc_address the address of the function descriptor to
-  /// consider.
-  ///
-  /// @return the address of the entry point of the function whose
-  /// descriptor has the address @p fn_desc_address.  If there is no
-  /// .opd section (e.g because we are not on ppc64) or more generally
-  /// if the function descriptor could not be found then this function
-  /// just returns the address of the fuction descriptor.
-  GElf_Addr
-  lookup_ppc64_elf_fn_entry_point_address(GElf_Addr fn_desc_address) const
-  {
-    if (!elf_handle())
-      return fn_desc_address;
-
-    if (!architecture_is_ppc64(elf_handle()))
-      return fn_desc_address;
-
-    bool is_big_endian = architecture_is_big_endian(elf_handle());
-
-    Elf_Scn *opd_section = find_opd_section();
-    if (!opd_section)
-      return fn_desc_address;
-
-    GElf_Shdr header_mem;
-    // The section header of the .opd section.
-    GElf_Shdr *opd_sheader = gelf_getshdr(opd_section, &header_mem);
-
-    // The offset of the function descriptor entry, in the .opd
-    // section.
-    size_t fn_desc_offset = fn_desc_address - opd_sheader->sh_addr;
-    Elf_Data *elf_data = elf_rawdata(opd_section, 0);
-
-    // Ensure that the opd_section has at least 8 bytes, starting from
-    // the offset we want read the data from.
-    if (elf_data->d_size <= fn_desc_offset + 8)
-      return fn_desc_address;
-
-    // A pointer to the data of the .opd section, that we can actually
-    // do something with.
-    uint8_t * bytes = (uint8_t*) elf_data->d_buf;
-
-    // The resulting address we are looking for is going to be formed
-    // in this variable.
-    GElf_Addr result = 0;
-    ABG_ASSERT(read_uint64_from_array_of_bytes(bytes + fn_desc_offset,
-					   is_big_endian, result));
-
-    return result;
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5513,13 +5349,15 @@ public:
 		      // symbol that are in the .opd section.
 		      GElf_Addr fn_desc_addr = sym->st_value;
 		      GElf_Addr fn_entry_point_addr =
-			lookup_ppc64_elf_fn_entry_point_address(fn_desc_addr);
+			  lookup_ppc64_elf_fn_entry_point_address(
+			      elf_handle(), fn_desc_addr);
 		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
 			fun_entry_addr_sym_map().find(fn_entry_point_addr);
 
 		      if (it2 == fun_entry_addr_sym_map().end())
 			fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-		      else if (address_is_in_opd_section(fn_desc_addr))
+		      else if (address_is_in_opd_section(elf_handle(),
+							 fn_desc_addr))
 			{
 			  // Either
 			  //
@@ -5682,24 +5520,6 @@ public:
     return true;
   }
 
-  /// Return true if an address is in the ".opd" section that is
-  /// present on the ppc64 platform.
-  ///
-  /// @param addr the address to consider.
-  ///
-  /// @return true iff @p addr is designates a word that is in the
-  /// ".opd" section.
-  bool
-  address_is_in_opd_section(Dwarf_Addr addr)
-  {
-    Elf_Scn * opd_section = find_opd_section();
-    if (!opd_section)
-      return false;
-    if (address_is_in_section(addr, opd_section))
-      return true;
-    return false;
-  }
-
   /// Load the symbol maps if necessary.
   ///
   /// @return true iff the symbol maps has been loaded by this
@@ -5850,26 +5670,6 @@ public:
     return addr;
   }
 
-  /// Test if a given address is in a given section.
-  ///
-  /// @param addr the address to consider.
-  ///
-  /// @param section the section to consider.
-  bool
-  address_is_in_section(Dwarf_Addr addr, Elf_Scn* section) const
-  {
-    if (!section)
-      return false;
-
-    GElf_Shdr sheader_mem;
-    GElf_Shdr* sheader = gelf_getshdr(section, &sheader_mem);
-
-    if (sheader->sh_addr <= addr && addr <= sheader->sh_addr + sheader->sh_size)
-      return true;
-
-    return false;
-  }
-
   /// For a relocatable (*.o) elf file, this function expects an
   /// absolute address, representing a global variable symbol.  It
   /// then extracts the address of the {.data,.data1,.rodata,.bss}
diff --git a/src/abg-elf-helpers.cc b/src/abg-elf-helpers.cc
index ed768d221d4f..6e2495af1ee0 100644
--- a/src/abg-elf-helpers.cc
+++ b/src/abg-elf-helpers.cc
@@ -863,6 +863,153 @@ architecture_is_big_endian(Elf* elf_handle)
   return is_big_endian;
 }
 
+/// Read N bytes and convert their value into an integer type T.
+///
+/// Note that N cannot be bigger than 8 for now. The type passed needs to be at
+/// least of the size of number_of_bytes.
+///
+/// @param bytes the array of bytes to read the next 8 bytes from.
+/// Note that this array must be at least 8 bytes long.
+///
+/// @param number_of_bytes the number of bytes to read.  This number
+/// cannot be bigger than 8.
+///
+/// @param is_big_endian if true, read the 8 bytes in Big Endian
+/// mode, otherwise, read them in Little Endian.
+///
+/// @param result where to store the resuting integer that was read.
+///
+///
+/// @param true if the 8 bytes could be read, false otherwise.
+template <typename T>
+bool
+read_int_from_array_of_bytes(const uint8_t* bytes,
+			     unsigned char  number_of_bytes,
+			     bool	    is_big_endian,
+			     T&		    result)
+{
+  if (!bytes)
+    return false;
+
+  ABG_ASSERT(number_of_bytes <= 8);
+  ABG_ASSERT(number_of_bytes <= sizeof(T));
+
+  T res = 0;
+
+  const uint8_t* cur = bytes;
+  if (is_big_endian)
+    {
+      // In Big Endian, the most significant byte is at the lowest
+      // address.
+      const uint8_t* msb = cur;
+      res = *msb;
+
+      // Now read the remaining least significant bytes.
+      for (uint i = 1; i < number_of_bytes; ++i)
+	res = (res << 8) | ((T)msb[i]);
+    }
+  else
+    {
+      // In Little Endian, the least significant byte is at the
+      // lowest address.
+      const uint8_t* lsb = cur;
+      res = *lsb;
+      // Now read the remaining most significant bytes.
+      for (uint i = 1; i < number_of_bytes; ++i)
+	res = res | (((T)lsb[i]) << i * 8);
+    }
+
+  result = res;
+  return true;
+}
+
+/// Read 8 bytes and convert their value into an uint64_t.
+///
+/// @param bytes the array of bytes to read the next 8 bytes from.
+/// Note that this array must be at least 8 bytes long.
+///
+/// @param result where to store the resuting uint64_t that was read.
+///
+/// @param is_big_endian if true, read the 8 bytes in Big Endian
+/// mode, otherwise, read them in Little Endian.
+///
+/// @param true if the 8 bytes could be read, false otherwise.
+bool
+read_uint64_from_array_of_bytes(const uint8_t* bytes,
+				bool	       is_big_endian,
+				uint64_t&      result)
+{
+  return read_int_from_array_of_bytes(bytes, 8, is_big_endian, result);
+}
+
+
+/// Lookup the address of the function entry point that corresponds
+/// to the address of a given function descriptor.
+///
+/// On PPC64, a function pointer is the address of a function
+/// descriptor.  Function descriptors are located in the .opd
+/// section.  Each function descriptor is a triplet of three
+/// addresses, each one on 64 bits.  Among those three address only
+/// the first one is of any interest to us: the address of the entry
+/// point of the function.
+///
+/// This function returns the address of the entry point of the
+/// function whose descriptor's address is given.
+///
+/// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES
+///
+/// https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/deeply_understand_64_bit_powerpc_elf_abi_function_descriptors?lang=en
+///
+/// @param fn_desc_address the address of the function descriptor to
+/// consider.
+///
+/// @return the address of the entry point of the function whose
+/// descriptor has the address @p fn_desc_address.  If there is no
+/// .opd section (e.g because we are not on ppc64) or more generally
+/// if the function descriptor could not be found then this function
+/// just returns the address of the fuction descriptor.
+GElf_Addr
+lookup_ppc64_elf_fn_entry_point_address(Elf* elf_handle, GElf_Addr fn_desc_address)
+{
+  if (!elf_handle)
+    return fn_desc_address;
+
+  if (!architecture_is_ppc64(elf_handle))
+    return fn_desc_address;
+
+  bool is_big_endian = architecture_is_big_endian(elf_handle);
+
+  Elf_Scn* opd_section = find_opd_section(elf_handle);
+  if (!opd_section)
+    return fn_desc_address;
+
+  GElf_Shdr header_mem;
+  // The section header of the .opd section.
+  GElf_Shdr* opd_sheader = gelf_getshdr(opd_section, &header_mem);
+
+  // The offset of the function descriptor entry, in the .opd
+  // section.
+  size_t    fn_desc_offset = fn_desc_address - opd_sheader->sh_addr;
+  Elf_Data* elf_data = elf_rawdata(opd_section, 0);
+
+  // Ensure that the opd_section has at least 8 bytes, starting from
+  // the offset we want read the data from.
+  if (elf_data->d_size <= fn_desc_offset + 8)
+    return fn_desc_address;
+
+  // A pointer to the data of the .opd section, that we can actually
+  // do something with.
+  uint8_t* bytes = (uint8_t*)elf_data->d_buf;
+
+  // The resulting address we are looking for is going to be formed
+  // in this variable.
+  GElf_Addr result = 0;
+  ABG_ASSERT(read_uint64_from_array_of_bytes(bytes + fn_desc_offset,
+					     is_big_endian, result));
+
+  return result;
+}
+
 /// Test if the ELF binary denoted by a given ELF handle is a Linux
 /// Kernel Module.
 ///
@@ -1027,5 +1174,44 @@ maybe_adjust_et_rel_sym_addr_to_abs_addr(Elf* elf_handle, GElf_Sym* sym)
   return addr + section_header.sh_addr;
 }
 
+/// Test if a given address is in a given section.
+///
+/// @param addr the address to consider.
+///
+/// @param section the section to consider.
+bool
+address_is_in_section(Dwarf_Addr addr, Elf_Scn* section)
+{
+  if (!section)
+    return false;
+
+  GElf_Shdr  sheader_mem;
+  GElf_Shdr* sheader = gelf_getshdr(section, &sheader_mem);
+
+  if (sheader->sh_addr <= addr && addr <= sheader->sh_addr + sheader->sh_size)
+    return true;
+
+  return false;
+}
+
+/// Return true if an address is in the ".opd" section that is
+/// present on the ppc64 platform.
+///
+/// @param addr the address to consider.
+///
+/// @return true iff @p addr is designates a word that is in the
+/// ".opd" section.
+bool
+address_is_in_opd_section(Elf* elf_handle, Dwarf_Addr addr)
+{
+  Elf_Scn * opd_section = find_opd_section(elf_handle);
+  if (!opd_section)
+    return false;
+  if (address_is_in_section(addr, opd_section))
+    return true;
+  return false;
+}
+
+
 } // end namespace elf_helpers
 } // end namespace abigail
diff --git a/src/abg-elf-helpers.h b/src/abg-elf-helpers.h
index 647c92703dfa..2046648569a7 100644
--- a/src/abg-elf-helpers.h
+++ b/src/abg-elf-helpers.h
@@ -27,6 +27,7 @@
 
 #include "config.h"
 
+#include <elfutils/libdwfl.h>
 #include <gelf.h>
 #include <string>
 
@@ -148,6 +149,10 @@ architecture_is_ppc64(Elf* elf_handle);
 bool
 architecture_is_big_endian(Elf* elf_handle);
 
+GElf_Addr
+lookup_ppc64_elf_fn_entry_point_address(Elf*	  elf_handle,
+					GElf_Addr fn_desc_address);
+
 //
 // Helpers for Linux Kernel Binaries
 //
@@ -177,6 +182,9 @@ is_dso(Elf* elf_handle);
 GElf_Addr
 maybe_adjust_et_rel_sym_addr_to_abs_addr(Elf* elf_handle, GElf_Sym* sym);
 
+bool
+address_is_in_opd_section(Elf* elf_handle, Dwarf_Addr addr);
+
 } // end namespace elf_helpers
 } // end namespace abigail
 
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 14/21] symtab_reader: add support for ppc64 ELFv1 binaries
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (12 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 13/21] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 15/21] abg-corpus: remove symbol maps and their setters Matthias Maennich
                     ` (7 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

When loading the symtab from an ppc64 binary, also keep track of the
function entry addresses as a key for the symbol lookup. That
accommodates the differences in DWARF pointing to the function entry
address while the symbol table points to the function pointer.

The implementation is mostly copied and adopted from abg-dwarf-reader's
read_context to add this functionality also to the new symtab reader.

	* src/abg-symtab-reader.cc (symtab::lookup_symbol): fall back to
	  lookup the address in entry_addr_symbol_map_.
	  (symtab::load): update the function entry address map for
	  ppc64 targets.
	  (symtab::update_function_entry_address_symbol_map): New
	  function implementation.
	* src/abg-symtab-reader.h
	  (symtab::entry_addr_symbol_map_): New data member.
	  (symtab::update_function_entry_address_symbol_map): New
	  function declaration.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-symtab-reader.h |  8 ++++
 src/abg-symtab-reader.cc    | 93 +++++++++++++++++++++++++++++++++++--
 2 files changed, 98 insertions(+), 3 deletions(-)

diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h
index 86335617d46a..06001b26ebeb 100644
--- a/include/abg-symtab-reader.h
+++ b/include/abg-symtab-reader.h
@@ -342,6 +342,9 @@ private:
 		       addr_symbol_map_type;
   addr_symbol_map_type addr_symbol_map_;
 
+  /// Lookup map function entry address -> symbol
+  addr_symbol_map_type entry_addr_symbol_map_;
+
   /// Load the symtab representation from an Elf binary presented to us by an
   /// Elf* handle.
   ///
@@ -366,6 +369,11 @@ private:
   bool
   load_(string_elf_symbols_map_sptr function_symbol_map,
        string_elf_symbols_map_sptr variables_symbol_map);
+
+  void
+  update_function_entry_address_symbol_map(Elf*	     elf_handle,
+					   GElf_Sym* native_symbol,
+					   const elf_symbol_sptr& symbol_sptr);
 };
 
 /// Helper class to allow range-for loops on symtabs for C++11 and later code.
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index c98b9174490c..aefc8d6dcd86 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -91,11 +91,16 @@ const elf_symbol_sptr&
 symtab::lookup_symbol(GElf_Addr symbol_addr) const
 {
   static const elf_symbol_sptr empty_result;
-  const addr_symbol_map_type::const_iterator it =
+  const addr_symbol_map_type::const_iterator addr_it =
       addr_symbol_map_.find(symbol_addr);
-  if (it != addr_symbol_map_.end())
+  if (addr_it != addr_symbol_map_.end())
+    return addr_it->second;
+  else
     {
-      return it->second;
+      const addr_symbol_map_type::const_iterator entry_it =
+	entry_addr_symbol_map_.find(symbol_addr);
+      if (entry_it != entry_addr_symbol_map_.end())
+	return entry_it->second;
     }
   return empty_result;
 }
@@ -172,6 +177,8 @@ symtab::load_(Elf*	       elf_handle,
   const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
   abg_compat::unordered_set<std::string> exported_kernel_symbols;
 
+  const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle);
+
   for (size_t i = 0; i < number_syms; ++i)
     {
       GElf_Sym *sym, sym_mem;
@@ -277,6 +284,10 @@ symtab::load_(Elf*	       elf_handle,
 	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
 								    sym);
 
+	  if (is_ppc64 && symbol_sptr->is_function())
+	    update_function_entry_address_symbol_map(elf_handle, sym,
+						     symbol_sptr);
+
 	  const std::pair<addr_symbol_map_type::const_iterator, bool> result =
 	      addr_symbol_map_.insert(
 		  std::make_pair(symbol_value, symbol_sptr));
@@ -345,5 +356,81 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
   return true;
 }
 
+void
+symtab::update_function_entry_address_symbol_map(
+    Elf*		   elf_handle,
+    GElf_Sym*		   native_symbol,
+    const elf_symbol_sptr& symbol_sptr)
+{
+
+  // For ppc64 ELFv1 binaries, we need to build a function entry point address
+  // -> function symbol map. This is in addition to the function pointer ->
+  // symbol map.  This is because on ppc64 ELFv1, a function pointer is
+  // different from a function entry point address.
+  //
+  // On ppc64 ELFv1, the DWARF DIE of a function references the address of the
+  // entry point of the function symbol; whereas the value of the function
+  // symbol is the function pointer. As these addresses are different, if I we
+  // want to get to the symbol of a function from its entry point address (as
+  // referenced by DWARF function DIEs) we must have the two maps I mentionned
+  // right above.
+  //
+  // In other words, we need a map that associates a function entry point
+  // address with the symbol of that function, to be able to get the function
+  // symbol that corresponds to a given function DIE, on ppc64.
+  //
+  // The value of the function pointer (the value of the symbol) usually refers
+  // to the offset of a table in the .opd section.  But sometimes, for a symbol
+  // named "foo", the corresponding symbol named ".foo" (note the dot before
+  // foo) which value is the entry point address of the function; that entry
+  // point address refers to a region in the .text section.
+  //
+  // So we are only interested in values of the symbol that are in the .opd
+  // section.
+  const GElf_Addr fn_desc_addr = native_symbol->st_value;
+  const GElf_Addr fn_entry_point_addr =
+    elf_helpers::lookup_ppc64_elf_fn_entry_point_address(elf_handle,
+							 fn_desc_addr);
+
+  const std::pair<addr_symbol_map_type::const_iterator, bool>& result =
+    entry_addr_symbol_map_.insert(
+      std::make_pair(fn_entry_point_addr, symbol_sptr));
+
+  const addr_symbol_map_type::const_iterator it = result.first;
+  const bool was_inserted = result.second;
+  if (!was_inserted
+      && elf_helpers::address_is_in_opd_section(elf_handle, fn_desc_addr))
+    {
+      // Either
+      //
+      // 'symbol' must have been registered as an alias for
+      // it->second->get_main_symbol()
+      //
+      // Or
+      //
+      // if the name of 'symbol' is foo, then the name of it2->second is
+      // ".foo". That is, foo is the name of the symbol when it refers to the
+      // function descriptor in the .opd section and ".foo" is an internal name
+      // for the address of the entry point of foo.
+      //
+      // In the latter case, we just want to keep a reference to "foo" as .foo
+      // is an internal name.
+
+      const bool two_symbols_alias =
+	it->second->get_main_symbol()->does_alias(*symbol_sptr);
+      const bool symbol_is_foo_and_prev_symbol_is_dot_foo =
+	(it->second->get_name() == std::string(".") + symbol_sptr->get_name());
+
+      ABG_ASSERT(two_symbols_alias
+		 || symbol_is_foo_and_prev_symbol_is_dot_foo);
+
+      if (symbol_is_foo_and_prev_symbol_is_dot_foo)
+	// Let's just keep a reference of the symbol that the user sees in the
+	// source code (the one named foo). The symbol which name is prefixed
+	// with a "dot" is an artificial one.
+	entry_addr_symbol_map_[fn_entry_point_addr] = symbol_sptr;
+    }
+}
+
 } // end namespace symtab_reader
 } // end namespace abigail
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 15/21] abg-corpus: remove symbol maps and their setters
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (13 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 14/21] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 16/21] dwarf reader: drop now-unused code related to symbol table reading Matthias Maennich
                     ` (6 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

With the prework in previous commits, we are now able to drop the
public symbols maps in corpus::priv and replace them by private members
with access through getters. The getters use the new symtab
implementation to generate the maps on the fly. Setters are not required
anymore and are removed. Also remove redundant getters.

We could also remove the getters for the symbol maps and the local
caching variable and leave it all to lookup_symbol, but this is left for
a later change.

	* include/abg-corpus.h (corpus::set_fun_symbol_map): Remove
	method declaration.
	(corpus::set_undefined_fun_symbol_map): Likewise.
	(corpus::set_var_symbol_map): Likewise.
	(corpus::set_undefined_var_symbol_map): Likewise.
	(corpus::get_fun_symbol_map_sptr): Likewise.
	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
	(corpus::get_var_symbol_map_sptr): Likewise.
	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
	* src/abg-corpus-priv.h (corpus::priv::var_symbol_map): make
	private and mutable
	(corpus::priv::undefined_var_symbol_map): Likewise.
	(corpus::priv::fun_symbol_map): Likewise.
	(corpus::priv::undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_fun_symbol_map): New method declaration.
	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_var_symbol_map): Likewise.
	(corpus::priv::get_undefined_var_symbol_map): Likewise.
	* src/abg-corpus.cc (corpus::priv::get_fun_symbol_map): New
	method implementation.
	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_var_symbol_map): Likewise.
	(corpus::priv::get_undefined_var_symbol_map): Likewise.
	(corpus::is_empty): depend on symtab only.
	(corpus::set_fun_symbol_map): Remove method.
	(corpus::set_undefined_fun_symbol_map): Likewise.
	(corpus::set_var_symbol_map): Likewise.
	(corpus::set_undefined_var_symbol_map): Likewise.
	(corpus::get_fun_symbol_map_sptr): Likewise.
	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
	(corpus::get_var_symbol_map_sptr): Likewise.
	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
	(corpus::get_fun_symbol_map): Use corpus::priv proxy method.
	(corpus::get_undefined_fun_symbol_map): Likewise.
	(corpus::get_var_symbol_map): Likewise.
	(corpus::get_undefined_var_symbol_map): Likewise.
	* src/abg-dwarf-reader.cc (read_debug_info_into_corpus): Do not
	set corpus symbol maps anymore.
	* src/abg-reader.cc (read_corpus_from_input): Likewise.
	* tests/test-symtab.cc (assert_symbol_count): Do not access the
	corpus symbol maps through sptr anymore.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust
	expected test output.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-corpus.h                          |  24 ---
 src/abg-corpus-priv.h                         |  21 ++-
 src/abg-corpus.cc                             | 159 ++++++++----------
 src/abg-dwarf-reader.cc                       |  48 ------
 src/abg-reader.cc                             |  11 --
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   2 -
 tests/test-symtab.cc                          |  15 +-
 7 files changed, 99 insertions(+), 181 deletions(-)

diff --git a/include/abg-corpus.h b/include/abg-corpus.h
index b94926996cde..f517986d8aca 100644
--- a/include/abg-corpus.h
+++ b/include/abg-corpus.h
@@ -175,27 +175,9 @@ public:
   const symtab_reader::symtab_sptr&
   get_symtab() const;
 
-  void
-  set_fun_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_undefined_fun_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_var_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_undefined_var_symbol_map(string_elf_symbols_map_sptr);
-
-  const string_elf_symbols_map_sptr
-  get_fun_symbol_map_sptr() const;
-
   virtual const string_elf_symbols_map_type&
   get_fun_symbol_map() const;
 
-  const string_elf_symbols_map_sptr
-  get_undefined_fun_symbol_map_sptr() const;
-
   const string_elf_symbols_map_type&
   get_undefined_fun_symbol_map() const;
 
@@ -205,15 +187,9 @@ public:
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
-  const string_elf_symbols_map_sptr
-  get_var_symbol_map_sptr() const;
-
   virtual const string_elf_symbols_map_type&
   get_var_symbol_map() const;
 
-  const string_elf_symbols_map_sptr
-  get_undefined_var_symbol_map_sptr() const;
-
   const string_elf_symbols_map_type&
   get_undefined_var_symbol_map() const;
 
diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index f2e895bf1e7d..fcb6d7a66b8e 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -30,6 +30,7 @@
 #define __ABG_CORPUS_PRIV_H__
 
 #include "abg-internal.h"
+#include "abg-ir.h"
 #include "abg-regex.h"
 #include "abg-sptr-utils.h"
 #include "abg-symtab-reader.h"
@@ -697,11 +698,7 @@ struct corpus::priv
   string_tu_map_type				path_tu_map;
   vector<function_decl*>			fns;
   vector<var_decl*>				vars;
-  string_elf_symbols_map_sptr			var_symbol_map;
-  string_elf_symbols_map_sptr			undefined_var_symbol_map;
   symtab_reader::symtab_sptr			symtab_;
-  string_elf_symbols_map_sptr			fun_symbol_map;
-  string_elf_symbols_map_sptr			undefined_fun_symbol_map;
   // The type maps contained in this data member are populated if the
   // corpus follows the One Definition Rule and thus if there is only
   // one copy of a type with a given name, per corpus. Otherwise, if
@@ -722,10 +719,14 @@ private:
   priv();
 
   mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> var_symbol_map;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> undefined_var_symbol_map;
   mutable abg_compat::optional<elf_symbols> unrefed_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> fun_symbol_map;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> undefined_fun_symbol_map;
   mutable abg_compat::optional<elf_symbols> unrefed_fun_symbols;
 
 public:
@@ -747,18 +748,30 @@ public:
   const elf_symbols&
   get_sorted_fun_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_fun_symbol_map() const;
+
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_undefined_fun_symbol_map() const;
+
   const elf_symbols&
   get_unreferenced_function_symbols() const;
 
   const elf_symbols&
   get_sorted_var_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_var_symbol_map() const;
+
   const elf_symbols&
   get_sorted_undefined_var_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_undefined_var_symbol_map() const;
+
   const elf_symbols&
   get_unreferenced_variable_symbols() const;
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 0f5d51820891..1f72904d137f 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -347,6 +347,22 @@ corpus::priv::get_sorted_fun_symbols() const
   return *sorted_fun_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_fun_symbol_map() const
+{
+  if (!fun_symbol_map)
+    {
+      fun_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator iter = get_sorted_fun_symbols().begin(),
+				       end = get_sorted_fun_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*fun_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *fun_symbol_map;
+}
+
 /// Getter for a sorted vector of the function symbols undefined in
 /// this corpus.
 ///
@@ -368,6 +384,25 @@ corpus::priv::get_sorted_undefined_fun_symbols() const
   return *sorted_undefined_fun_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_undefined_fun_symbol_map() const
+{
+  if (!undefined_fun_symbol_map)
+    {
+      undefined_fun_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator
+	       iter = get_sorted_undefined_fun_symbols().begin(),
+	       end = get_sorted_undefined_fun_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*undefined_fun_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *undefined_fun_symbol_map;
+}
+
+
+
 /// Return a list of symbols that are not referenced by any function of
 /// corpus::get_functions().
 ///
@@ -448,6 +483,22 @@ corpus::priv::get_sorted_var_symbols() const
   return *sorted_var_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_var_symbol_map() const
+{
+  if (!var_symbol_map)
+    {
+      var_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator iter = get_sorted_var_symbols().begin(),
+				       end = get_sorted_var_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*var_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *var_symbol_map;
+}
+
 /// Getter for a sorted vector of the variable symbols undefined in
 /// this corpus.
 ///
@@ -469,6 +520,23 @@ corpus::priv::get_sorted_undefined_var_symbols() const
   return *sorted_undefined_var_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_undefined_var_symbol_map() const
+{
+  if (!undefined_var_symbol_map)
+    {
+      undefined_var_symbol_map = string_elf_symbols_map_type();
+      for (elf_symbols::const_iterator
+	       iter = get_sorted_undefined_var_symbols().begin(),
+	       end = get_sorted_undefined_var_symbols().end();
+	   iter != end; ++iter)
+	{
+	  (*undefined_var_symbol_map)[(*iter)->get_name()].push_back(*iter);
+	}
+    }
+  return *undefined_var_symbol_map;
+}
+
 /// Return a list of symbols that are not referenced by any variable of
 /// corpus::get_variables().
 ///
@@ -954,10 +1022,7 @@ corpus::is_empty() const
 	}
     }
   return (members_empty
-	  && priv_->fun_symbol_map
-	  && priv_->fun_symbol_map->empty()
-	  && priv_->var_symbol_map
-	  && priv_->var_symbol_map->empty()
+	  && !get_symtab()->has_symbols()
 	  && priv_->soname.empty()
 	  && priv_->needed.empty());
 }
@@ -991,69 +1056,12 @@ const symtab_reader::symtab_sptr&
 corpus::get_symtab() const
 { return priv_->symtab_; }
 
-/// Setter of the function symbols map.
-///
-/// @param map a shared pointer to the new function symbols map.
-void
-corpus::set_fun_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->fun_symbol_map = map;}
-
-/// Setter for the map of function symbols that are undefined in this
-/// corpus.
-///
-/// @param map a new map for function symbols not defined in this
-/// corpus.  The key of the map is the name of the function symbol.
-/// The value is a vector of all the function symbols that have the
-/// same name.
-void
-corpus::set_undefined_fun_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->undefined_fun_symbol_map = map;}
-
-/// Setter of the variable symbols map.
-///
-/// @param map a shared pointer to the new variable symbols map.
-void
-corpus::set_var_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->var_symbol_map = map;}
-
-/// Setter for the map of variable symbols that are undefined in this
-/// corpus.
-///
-/// @param map a new map for variable symbols not defined in this
-/// corpus.  The key of the map is the name of the variable symbol.
-/// The value is a vector of all the variable symbols that have the
-/// same name.
-void
-corpus::set_undefined_var_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->undefined_var_symbol_map = map;}
-
-/// Getter for the function symbols map.
-///
-/// @return a shared pointer to the function symbols map.
-const string_elf_symbols_map_sptr
-corpus::get_fun_symbol_map_sptr() const
-{
-  if (!priv_->fun_symbol_map)
-    priv_->fun_symbol_map.reset(new string_elf_symbols_map_type);
-  return priv_->fun_symbol_map;
-}
-
 /// Getter for the function symbols map.
 ///
 /// @return a reference to the function symbols map.
 const string_elf_symbols_map_type&
 corpus::get_fun_symbol_map() const
-{return *get_fun_symbol_map_sptr();}
-
-/// Getter for the map of function symbols that are undefined in this
-/// corpus.
-///
-/// @return the map of function symbols not defined in this corpus.
-/// The key of the map is the name of the function symbol.  The value
-/// is a vector of all the function symbols that have the same name.
-const string_elf_symbols_map_sptr
-corpus::get_undefined_fun_symbol_map_sptr() const
-{return priv_->undefined_fun_symbol_map;}
+{return priv_->get_fun_symbol_map();}
 
 /// Getter for the map of function symbols that are undefined in this
 /// corpus.
@@ -1063,7 +1071,7 @@ corpus::get_undefined_fun_symbol_map_sptr() const
 /// is a vector of all the function symbols that have the same name.
 const string_elf_symbols_map_type&
 corpus::get_undefined_fun_symbol_map() const
-{return *get_undefined_fun_symbol_map_sptr();}
+{return priv_->get_undefined_fun_symbol_map();}
 
 const elf_symbols&
 corpus::get_sorted_fun_symbols() const
@@ -1081,33 +1089,12 @@ const elf_symbols&
 corpus::get_sorted_undefined_var_symbols() const
 { return priv_->get_sorted_undefined_var_symbols(); }
 
-/// Getter for the variable symbols map.
-///
-/// @return a shared pointer to the variable symbols map.
-const string_elf_symbols_map_sptr
-corpus::get_var_symbol_map_sptr() const
-{
-  if (!priv_->var_symbol_map)
-    priv_->var_symbol_map.reset(new string_elf_symbols_map_type);
-  return priv_->var_symbol_map;
-}
-
 /// Getter for the variable symbols map.
 ///
 /// @return a reference to the variabl symbols map.
 const string_elf_symbols_map_type&
 corpus::get_var_symbol_map() const
-{return *get_var_symbol_map_sptr();}
-
-/// Getter for the map of variable symbols that are undefined in this
-/// corpus.
-///
-/// @return the map of variable symbols not defined in this corpus.
-/// The key of the map is the name of the variable symbol.  The value
-/// is a vector of all the variable symbols that have the same name.
-const string_elf_symbols_map_sptr
-corpus::get_undefined_var_symbol_map_sptr() const
-{return priv_->undefined_var_symbol_map;}
+{return priv_->get_var_symbol_map();}
 
 /// Getter for the map of variable symbols that are undefined in this
 /// corpus.
@@ -1117,7 +1104,7 @@ corpus::get_undefined_var_symbol_map_sptr() const
 /// is a vector of all the variable symbols that have the same name.
 const string_elf_symbols_map_type&
 corpus::get_undefined_var_symbol_map() const
-{return *get_undefined_var_symbol_map_sptr();}
+{return priv_->get_undefined_var_symbol_map();}
 
 /// Look in the function symbols map for a symbol with a given name.
 ///
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 47d561452b05..047f2cb7ab4e 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -14046,54 +14046,6 @@ read_debug_info_into_corpus(read_context& ctxt)
 
   // Set symbols information to the corpus.
   ctxt.current_corpus()->set_symtab(ctxt.symtab());
-  if (!get_ignore_symbol_table(ctxt))
-    {
-      if (ctxt.load_in_linux_kernel_mode()
-	  && is_linux_kernel(ctxt.elf_handle()))
-	{
-	  string_elf_symbols_map_sptr exported_fn_symbols_map
-	    (new string_elf_symbols_map_type);
-	  symtab_reader::symtab_filter filter =
-	      ctxt.symtab()->make_filter().functions();
-
-	  for (symtab_reader::symtab::const_iterator
-		   it = ctxt.symtab()->begin(filter),
-		   end = ctxt.symtab()->end();
-	       it != end; ++it)
-	    {
-	      (*exported_fn_symbols_map)[(*it)->get_name()].push_back(*it);
-	    }
-
-	  ctxt.current_corpus()->set_fun_symbol_map(exported_fn_symbols_map);
-
-	  string_elf_symbols_map_sptr exported_var_symbols_map(
-	      new string_elf_symbols_map_type);
-	  filter = ctxt.symtab()->make_filter().variables();
-	  for (symtab_reader::symtab::const_iterator
-		   it = ctxt.symtab()->begin(filter),
-		   end = ctxt.symtab()->end();
-	       it != end; ++it)
-	    {
-	      (*exported_var_symbols_map)[(*it)->get_name()].push_back(*it);
-	    }
-	  ctxt.current_corpus()->set_var_symbol_map(exported_var_symbols_map);
-	}
-      else
-	{
-	  ctxt.current_corpus()->set_fun_symbol_map(ctxt.fun_syms_sptr());
-	  ctxt.current_corpus()->set_var_symbol_map(ctxt.var_syms_sptr());
-	}
-
-      ctxt.current_corpus()->set_undefined_fun_symbol_map
-	(ctxt.undefined_fun_syms_sptr());
-      ctxt.current_corpus()->set_undefined_var_symbol_map
-	(ctxt.undefined_var_syms_sptr());
-    }
-  else
-    {
-      ctxt.current_corpus()->set_fun_symbol_map(ctxt.fun_syms_sptr());
-      ctxt.current_corpus()->set_var_symbol_map(ctxt.var_syms_sptr());
-    }
 
   // Get out now if no debug info is found.
   if (!ctxt.dwarf())
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 313639fddff0..fbdcce590bc3 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -1974,17 +1974,6 @@ read_corpus_from_input(read_context& ctxt)
       // are nil, due to potential suppression specifications.  That's
       // fine.
       corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db));
-
-      if (fn_sym_db)
-	{
-	  corp.set_fun_symbol_map(fn_sym_db);
-	  fn_sym_db.reset();
-	}
-      if (var_sym_db)
-	{
-	  corp.set_var_symbol_map(var_sym_db);
-	  var_sym_db.reset();
-	}
     }
 
   ctxt.get_environment()->canonicalization_is_done(false);
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index d5af7183095f..24c25c06d61c 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -37,8 +37,6 @@
     <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
-  <elf-variable-symbols>
-  </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
 
 
diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index 905d8249a6e4..c144b1d080f6 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -104,17 +104,19 @@ assert_symbol_count(const std::string& path,
   REQUIRE((status & dwarf_reader::STATUS_OK));
   const corpus& corpus = *corpus_ptr;
 
+  size_t total_symbols = 0;
+
   if (function_symbols != N)
     {
       CHECK(corpus.get_sorted_fun_symbols().size() == function_symbols);
       CHECK(corpus.get_fun_symbol_map().size() == function_symbols);
-      CHECK(corpus.get_fun_symbol_map_sptr()->size() == function_symbols);
+      total_symbols += function_symbols;
     }
   if (variable_symbols != N)
     {
       CHECK(corpus.get_sorted_var_symbols().size() == variable_symbols);
       CHECK(corpus.get_var_symbol_map().size() == variable_symbols);
-      CHECK(corpus.get_var_symbol_map_sptr()->size() == variable_symbols);
+      total_symbols += variable_symbols;
     }
   if (undefined_variable_symbols != N)
     {
@@ -122,8 +124,7 @@ assert_symbol_count(const std::string& path,
 	    == undefined_function_symbols);
       CHECK(corpus.get_undefined_fun_symbol_map().size()
 	    == undefined_function_symbols);
-      CHECK(corpus.get_undefined_fun_symbol_map_sptr()->size()
-	    == undefined_function_symbols);
+      total_symbols += undefined_function_symbols;
     }
   if (undefined_function_symbols != N)
     {
@@ -131,10 +132,12 @@ assert_symbol_count(const std::string& path,
 	    == undefined_variable_symbols);
       CHECK(corpus.get_undefined_var_symbol_map().size()
 	    == undefined_variable_symbols);
-      CHECK(corpus.get_undefined_var_symbol_map_sptr()->size()
-	    == undefined_variable_symbols);
+      total_symbols += undefined_variable_symbols;
     }
 
+  // assert the corpus reports being empty consistently with the symbol count
+  CHECK(corpus.is_empty() == (total_symbols == 0));
+
   return corpus_ptr;
 }
 
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 16/21] dwarf reader: drop now-unused code related to symbol table reading
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (14 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 15/21] abg-corpus: remove symbol maps and their setters Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 17/21] test-symtab: add tests for whitelisted functions Matthias Maennich
                     ` (5 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The introduction of the new symtab reader incorporated much of the
existing functionality. Now that the most code parts are migrated to the
new symtab reader, we can safely remove the old code paths.

Ignoring the symbol table is not a thing anymore. The new symtab reader
does read the symtab unconditionally for consistency reasons. Hence also
remove all functionality around conditional symtab reading.

	* include/abg-dwarf-reader.h (set_ignore_symbol_table): Remove.
	(get_ignore_symbol_table): Likewise.
	* src/abg-dwarf-reader.cc (add_symbol_to_map): Likewise.
	(read_context::options_type::ignore_symbol_table): Likewise.
	(read_context::options_type): Adjust.
	(read_context::fun_addr_sym_map_): Remove.
	(read_context::fun_entry_addr_sym_map_): Likewise.
	(read_context::fun_syms_): Likewise.
	(read_context::var_addr_sym_map_): Likewise.
	(read_context::var_syms_): Likewise.
	(read_context::undefined_fun_syms_): Likewise.
	(read_context::undefined_var_syms_): Likewise.
	(read_context::initialize): Adjust.
	(read_context::lookup_elf_symbol_from_index): Remove.
	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
	(read_context::fun_entry_addr_sym_map): Likewise.
	(read_context::fun_syms_sptr): Likewise.
	(read_context::fun_syms): Likewise.
	(read_context::var_syms_sptr): Likewise.
	(read_context::var_syms): Likewise.
	(read_context::undefined_fun_syms_sptr): Likewise.
	(read_context::undefined_var_syms_sptr): Likewise.
	(read_context::load_symbol_maps_from_symtab_section): Likewise.
	(read_context::load_symbol_maps): Likewise.
	(read_context::maybe_load_symbol_maps): Likewise.
	(set_ignore_symbol_table): Likewise.
	(get_ignore_symbol_table): Likewise.
	(create_default_var_sym): Likewise.
	(build_var_decl): Adjust.
	(function_is_suppressed): Likewise.
	(variable_is_suppressed): Likewise.
	(build_function_decl): Likewise.
	(add_symbol_to_map): Remove.
	(read_corpus_from_elf): Adjust.
	(build_corpus_group_from_kernel_dist_under): Likewise.
	* tools/abidw.cc (main): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-dwarf-reader.h |   6 -
 src/abg-dwarf-reader.cc    | 656 +------------------------------------
 src/abg-tools-utils.cc     |  13 -
 tools/abidw.cc             |   2 -
 4 files changed, 12 insertions(+), 665 deletions(-)

diff --git a/include/abg-dwarf-reader.h b/include/abg-dwarf-reader.h
index d0329aed9ccf..3f062e04502d 100644
--- a/include/abg-dwarf-reader.h
+++ b/include/abg-dwarf-reader.h
@@ -195,12 +195,6 @@ set_drop_undefined_syms(read_context& ctxt,
 void
 set_do_log(read_context& ctxt, bool f);
 
-void
-set_ignore_symbol_table(read_context &ctxt, bool f);
-
-bool
-get_ignore_symbol_table(const read_context &ctxt);
-
 void
 set_environment(read_context& ctxt,
 		ir::environment*);
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 047f2cb7ab4e..6ed316e19ac1 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -291,10 +291,6 @@ static bool
 operator<(const imported_unit_point& l, const imported_unit_point& r)
 {return l.offset_of_import < r.offset_of_import;}
 
-static void
-add_symbol_to_map(const elf_symbol_sptr& sym,
-		  string_elf_symbols_map_type& map);
-
 static bool
 get_parent_die(const read_context&	ctxt,
 	       const Dwarf_Die*	die,
@@ -1940,7 +1936,6 @@ public:
     environment*	env;
     bool		load_in_linux_kernel_mode;
     bool		load_all_types;
-    bool		ignore_symbol_table;
     bool		show_stats;
     bool		do_log;
 
@@ -1948,7 +1943,6 @@ public:
       : env(),
 	load_in_linux_kernel_mode(),
 	load_all_types(),
-	ignore_symbol_table(),
 	show_stats(),
 	do_log()
     {}
@@ -2144,19 +2138,6 @@ public:
   offset_offset_map_type	alternate_die_parent_map_;
   offset_offset_map_type	type_section_die_parent_map_;
   list<var_decl_sptr>		var_decls_to_add_;
-  addr_elf_symbol_sptr_map_sptr fun_addr_sym_map_;
-  // On PPC64, the function entry point address is different from the
-  // GElf_Sym::st_value value, which is the address of the descriptor
-  // of the function.  The map below thus associates the address of
-  // the entry point to the function symbol.  If we are not on ppc64,
-  // then this map ought to be empty.  Only the fun_addr_sym_map_ is
-  // used in that case.  On ppc64, though, both maps are used.
-  addr_elf_symbol_sptr_map_sptr fun_entry_addr_sym_map_;
-  string_elf_symbols_map_sptr	fun_syms_;
-  addr_elf_symbol_sptr_map_sptr var_addr_sym_map_;
-  string_elf_symbols_map_sptr	var_syms_;
-  string_elf_symbols_map_sptr	undefined_fun_syms_;
-  string_elf_symbols_map_sptr	undefined_var_syms_;
   vector<string>		dt_needed_;
   string			dt_soname_;
   string			elf_architecture_;
@@ -2292,13 +2273,6 @@ public:
     alternate_die_parent_map_.clear();
     type_section_die_parent_map_.clear();
     var_decls_to_add_.clear();
-    fun_addr_sym_map_.reset();
-    fun_entry_addr_sym_map_.reset();
-    fun_syms_.reset();
-    var_addr_sym_map_.reset();
-    var_syms_.reset();
-    undefined_fun_syms_.reset();
-    undefined_var_syms_.reset();
     dt_needed_.clear();
     dt_soname_.clear();
     elf_architecture_.clear();
@@ -4958,88 +4932,6 @@ public:
     return true;
   }
 
-  /// Given the index of a symbol into the symbol table of an ELF
-  /// file, look the symbol up, build an instace of @ref elf_symbol
-  /// and return it.
-  ///
-  /// @param symbol_index the index of the symbol into the symbol
-  /// table of the current elf file.
-  ///
-  /// @return the elf symbol found or nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_index(size_t symbol_index)
-  {
-    GElf_Sym s;
-    elf_symbol_sptr result =
-      lookup_elf_symbol_from_index(symbol_index, s);
-    return result;
-  }
-
-  /// Lookup an ELF symbol given its index into the .symtab section.
-  ///
-  /// This function returns both the native symbol (from libelf) and
-  /// the @p abigail::ir::elf_symbol instance, which is the
-  /// libabigail-specific representation of the symbol.
-  ///
-  /// @param symbol_index the index of the symbol to look for.
-  ///
-  /// @param native_sym output parameter.  This is set to the native
-  /// ELF symbol found iff the function returns a non-nil value.
-  ///
-  /// @return an instance of libabigail::ir::elf_symbol representing
-  /// the ELF symbol found, iff one was found.  Otherwise, returns
-  /// nil.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_index(size_t symbol_index,
-			       GElf_Sym &native_sym)
-  {
-    if (!lookup_native_elf_symbol_from_index(symbol_index, native_sym))
-      return elf_symbol_sptr();
-
-    Elf_Scn* symtab_section = find_symbol_table_section();
-    if (!symtab_section)
-      return elf_symbol_sptr();
-
-    GElf_Shdr header_mem;
-    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
-					     &header_mem);
-
-    Elf_Data* symtab = elf_getdata(symtab_section, 0);
-    ABG_ASSERT(symtab);
-
-    bool sym_is_defined = native_sym.st_shndx != SHN_UNDEF;
-    bool sym_is_common = native_sym.st_shndx == SHN_COMMON; // this occurs in
-							    // relocatable
-							    // files.
-    const char* name_str = elf_strptr(elf_handle(),
-				      symtab_sheader->sh_link,
-				      native_sym.st_name);
-    if (name_str == 0)
-      name_str = "";
-
-    elf_symbol::version ver;
-    elf_helpers::get_version_for_symbol(elf_handle(), symbol_index,
-					sym_is_defined, ver);
-
-    elf_symbol::visibility vis =
-      stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(native_sym.st_other));
-
-    Elf_Scn* strings_section = find_ksymtab_strings_section(elf_handle());
-    size_t strings_ndx = strings_section
-      ? elf_ndxscn(strings_section)
-      : 0;
-
-    elf_symbol_sptr sym =
-      elf_symbol::create(env(), symbol_index, native_sym.st_size,
-			 name_str, stt_to_elf_symbol_type
-			 (GELF_ST_TYPE(native_sym.st_info)),
-			 stb_to_elf_symbol_binding
-			 (GELF_ST_BIND(native_sym.st_info)),
-			 sym_is_defined, sym_is_common, ver, vis,
-			 native_sym.st_shndx == strings_ndx);
-    return sym;
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5120,102 +5012,6 @@ public:
     return symtab_;
   }
 
-  /// Getter for a pointer to the map that associates the address of
-  /// an entry point of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return a pointer to the map that associates the address of an
-  /// entry point of a function with the symbol of that function.
-  addr_elf_symbol_sptr_map_sptr&
-  fun_entry_addr_sym_map_sptr()
-  {
-    if (!fun_entry_addr_sym_map_ && !fun_addr_sym_map_)
-      maybe_load_symbol_maps();
-    if (architecture_is_ppc64(elf_handle()))
-      return fun_entry_addr_sym_map_;
-    return fun_addr_sym_map_;
-  }
-
-  /// Getter for the map that associates the address of an entry point
-  /// of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return the map that associates the address of an entry point of
-  /// a function with the symbol of that function.
-  addr_elf_symbol_sptr_map_type&
-  fun_entry_addr_sym_map()
-  {return *fun_entry_addr_sym_map_sptr();}
-
-  /// Getter for the map of function symbols (name -> sym).
-  ///
-  /// @return a shared pointer to the map of function symbols.
-  const string_elf_symbols_map_sptr&
-  fun_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return fun_syms_;
-  }
-
-  /// Getter for the map of function symbols (name -> sym).
-  ///
-  /// @return a reference to the map of function symbols.
-  string_elf_symbols_map_type&
-  fun_syms()
-  {
-    maybe_load_symbol_maps();
-    return *fun_syms_;
-  }
-
-  /// Getter for the map of variable symbols (name -> sym)
-  ///
-  /// @return a shared pointer to the map of variable symbols.
-  const string_elf_symbols_map_sptr
-  var_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return var_syms_;
-  }
-
-  /// Getter for the map of variable symbols (name -> sym)
-  ///
-  /// @return a reference to the map of variable symbols.
-  string_elf_symbols_map_type&
-  var_syms()
-  {
-    maybe_load_symbol_maps();
-    return *var_syms_;
-  }
-
-  /// Getter for the map of undefined function symbols (name -> vector
-  /// of symbols).
-  ///
-  /// @return a (smart) pointer to the map of undefined function
-  /// symbols.
-  const string_elf_symbols_map_sptr&
-  undefined_fun_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return undefined_fun_syms_;
-  }
-
-  /// Getter for the map of undefined variable symbols (name -> vector
-  /// of symbols).
-  ///
-  /// @return a (smart) pointer to the map of undefined variable
-  /// symbols.
-  const string_elf_symbols_map_sptr&
-  undefined_var_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return undefined_var_syms_;
-  }
-
   /// Getter for the ELF dt_needed tag.
   const vector<string>&
   dt_needed() const
@@ -5231,232 +5027,6 @@ public:
   elf_architecture() const
   {return elf_architecture_;}
 
-  /// Load the maps address -> function symbol, address -> variable
-  /// symbol and the maps of function and variable undefined symbols.
-  ///
-  /// @param load_fun_map whether to load the address to function map.
-  ///
-  /// @param load_var_map whether to laod the address to variable map.
-  ///
-  /// @param load_undefined_fun_map whether to load the undefined
-  /// function map.
-  ///
-  /// @param load_undefined_var_map whether to laod the undefined
-  /// variable map.
-  ///
-  /// @return return true iff the maps have be loaded.
-  bool
-  load_symbol_maps_from_symtab_section(bool load_fun_map,
-				       bool load_var_map,
-				       bool load_undefined_fun_map,
-				       bool load_undefined_var_map)
-  {
-    Elf_Scn* symtab_section = find_symbol_table_section();
-    if (!symtab_section)
-      return false;
-
-    GElf_Shdr header_mem;
-    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
-					     &header_mem);
-
-    // check for bogus section header
-    if (symtab_sheader->sh_entsize == 0)
-      return false;
-
-    size_t nb_syms = symtab_sheader->sh_size / symtab_sheader->sh_entsize;
-
-    Elf_Data* symtab = elf_getdata(symtab_section, 0);
-    if (!symtab)
-      return false;
-
-    GElf_Ehdr elf_header;
-    ABG_ASSERT(gelf_getehdr(elf_handle(), &elf_header));
-
-    bool is_ppc64 = architecture_is_ppc64(elf_handle());
-
-    for (size_t i = 0; i < nb_syms; ++i)
-      {
-	GElf_Sym* sym, sym_mem;
-	sym = gelf_getsym(symtab, i, &sym_mem);
-	ABG_ASSERT(sym);
-
-	if ((load_fun_map || load_undefined_fun_map)
-	    && (GELF_ST_TYPE(sym->st_info) == STT_FUNC
-		|| GELF_ST_TYPE(sym->st_info) == STT_GNU_IFUNC))
-	  {
-	    elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
-	    ABG_ASSERT(symbol);
-	    ABG_ASSERT(symbol->is_function());
-
-	    // If the symbol was suppressed by a suppression
-	    // specification then drop it on the floor.
-	    if (is_elf_symbol_suppressed(symbol))
-	      continue;
-
-	    if (load_fun_map && symbol->is_public())
-	      {
-		(*fun_syms_)[symbol->get_name()].push_back(symbol);
-
-		{
-		  GElf_Addr symbol_value =
-		      maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-							       sym);
-
-		  addr_elf_symbol_sptr_map_type::const_iterator it =
-		    fun_addr_sym_map_->find(symbol_value);
-		  if (it == fun_addr_sym_map_->end())
-		    (*fun_addr_sym_map_)[symbol_value] = symbol;
-		  else //if (sym->st_value != 0)
-		    it->second->get_main_symbol()->add_alias(symbol);
-
-		  if (is_ppc64)
-		    {
-		      // For ppc64 ELFv1 binaries, we need to build a
-		      // function entry point address -> function
-		      // symbol map.  This is in addition to the
-		      // function pointer -> symbol map.  This is
-		      // because on ppc64 ELFv1, a function pointer is
-		      // different from a function entry point
-		      // address.
-		      //
-		      // On ppc64 ELFv1, the DWARF DIE of a function
-		      // references the address of the entry point of
-		      // the function symbol; whereas the value of the
-		      // function symbol is the function pointer.  As
-		      // these addresses are different, if I we want
-		      // to get to the symbol of a function from its
-		      // entry point address (as referenced by DWARF
-		      // function DIEs) we must have the two maps I
-		      // mentionned right above.
-		      //
-		      // In other words, we need a map that associates
-		      // a function enty point address with the symbol
-		      // of that function, to be able to get the
-		      // function symbol that corresponds to a given
-		      // function DIE, on ppc64.
-		      //
-		      // The value of the function pointer (the value
-		      // of the symbol) usually refers to the offset
-		      // of a table in the .opd section.  But
-		      // sometimes, for a symbol named "foo", the
-		      // corresponding symbol named ".foo" (note the
-		      // dot before foo) which value is the entry
-		      // point address of the function; that entry
-		      // point address refers to a region in the .text
-		      // section.
-		      //
-		      // So we are only interested in values of the
-		      // symbol that are in the .opd section.
-		      GElf_Addr fn_desc_addr = sym->st_value;
-		      GElf_Addr fn_entry_point_addr =
-			  lookup_ppc64_elf_fn_entry_point_address(
-			      elf_handle(), fn_desc_addr);
-		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
-			fun_entry_addr_sym_map().find(fn_entry_point_addr);
-
-		      if (it2 == fun_entry_addr_sym_map().end())
-			fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-		      else if (address_is_in_opd_section(elf_handle(),
-							 fn_desc_addr))
-			{
-			  // Either
-			  //
-			  // 'symbol' must have been registered as an
-			  // alias for it2->second->get_main_symbol(),
-			  // right before the "if (ppc64)" statement.
-			  //
-			  // Or
-			  //
-			  // if the name of 'symbol' is foo, then the
-			  // name of it2->second is ".foo".  That is,
-			  // foo is the name of the symbol when it
-			  // refers to the function descriptor in the
-			  // .opd section and ".foo" is an internal
-			  // name for the address of the entry point
-			  // of foo.
-			  //
-			  // In the latter case, we just want to keep
-			  // a refernce to "foo" as .foo is an
-			  // internal name.
-
-			  bool two_symbols_alias =
-			    it2->second->get_main_symbol()->does_alias(*symbol);
-			  bool symbol_is_foo_and_prev_symbol_is_dot_foo =
-			    (it2->second->get_name()
-			     == string(".") + symbol->get_name());
-
-			  ABG_ASSERT(two_symbols_alias
-				 || symbol_is_foo_and_prev_symbol_is_dot_foo);
-
-			  if (symbol_is_foo_and_prev_symbol_is_dot_foo)
-			    // Let's just keep a reference of the
-			    // symbol that the user sees in the source
-			    // code (the one named foo).  The symbol
-			    // which name is prefixed with a "dot" is
-			    // an artificial one.
-			    fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-			}
-		    }
-		}
-	      }
-	    else if (load_undefined_fun_map && !symbol->is_defined())
-	      (*undefined_fun_syms_)[symbol->get_name()].push_back(symbol);
-	  }
-	else if ((load_var_map || load_undefined_var_map)
-		 && (GELF_ST_TYPE(sym->st_info) == STT_OBJECT
-		     || GELF_ST_TYPE(sym->st_info) == STT_TLS)
-		 // If the symbol is for an OBJECT, the index of the
-		 // section it refers to cannot be absolute.
-		 // Otherwise that OBJECT is not a variable.
-		 && (sym->st_shndx != SHN_ABS
-		     || GELF_ST_TYPE(sym->st_info) != STT_OBJECT ))
-	  {
-	    elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
-	    ABG_ASSERT(symbol);
-	    ABG_ASSERT(symbol->is_variable());
-
-	    if (load_var_map && symbol->is_public())
-	      {
-		(*var_syms_)[symbol->get_name()].push_back(symbol);
-
-		if (symbol->is_common_symbol())
-		  {
-		    string_elf_symbols_map_type::iterator it =
-		      var_syms_->find(symbol->get_name());
-		    ABG_ASSERT(it != var_syms_->end());
-		    const elf_symbols& common_sym_instances = it->second;
-		    ABG_ASSERT(!common_sym_instances.empty());
-		    if (common_sym_instances.size() > 1)
-		      {
-			elf_symbol_sptr main_common_sym =
-			  common_sym_instances[0];
-			ABG_ASSERT(main_common_sym->get_name()
-			       == symbol->get_name());
-			ABG_ASSERT(main_common_sym->is_common_symbol());
-			ABG_ASSERT(symbol.get() != main_common_sym.get());
-			main_common_sym->add_common_instance(symbol);
-		      }
-		  }
-		else
-		  {
-		    GElf_Addr symbol_value =
-			maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-								 sym);
-		    addr_elf_symbol_sptr_map_type::const_iterator it =
-		      var_addr_sym_map_->find(symbol_value);
-		    if (it == var_addr_sym_map_->end())
-		      (*var_addr_sym_map_)[symbol_value] = symbol;
-		    else
-		      it->second->get_main_symbol()->add_alias(symbol);
-		  }
-	      }
-	    else if (load_undefined_var_map && !symbol->is_defined())
-	      (*undefined_var_syms_)[symbol->get_name()].push_back(symbol);
-	  }
-      }
-    return true;
-  }
-
   /// Test if a given ELF symbol was suppressed by a suppression
   /// specification.
   ///
@@ -5472,71 +5042,6 @@ public:
 					       symbol->get_type()));
   }
 
-  /// Load the maps of function symbol address -> function symbol,
-  /// global variable symbol address -> variable symbol and also the
-  /// maps of function and variable undefined symbols.
-  ///
-  /// All these maps are loaded only if they are not loaded already.
-  ///
-  /// @return true iff everything went fine.
-  bool
-  load_symbol_maps()
-  {
-    bool load_fun_map = !fun_addr_sym_map_ ;
-    bool load_var_map = !var_addr_sym_map_;
-    bool load_undefined_fun_map = !undefined_fun_syms_;
-    bool load_undefined_var_map = !undefined_var_syms_;
-
-    if (!fun_syms_)
-      fun_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!fun_addr_sym_map_)
-      fun_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!fun_entry_addr_sym_map_ && architecture_is_ppc64(elf_handle()))
-      fun_entry_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!var_syms_)
-      var_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!var_addr_sym_map_)
-      var_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!undefined_fun_syms_)
-      undefined_fun_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!undefined_var_syms_)
-      undefined_var_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!options_.ignore_symbol_table)
-      {
-	if (load_symbol_maps_from_symtab_section(load_fun_map,
-						 load_var_map,
-						 load_undefined_fun_map,
-						 load_undefined_var_map))
-	    return true;
-	return false;
-      }
-    return true;
-  }
-
-  /// Load the symbol maps if necessary.
-  ///
-  /// @return true iff the symbol maps has been loaded by this
-  /// invocation.
-  bool
-  maybe_load_symbol_maps() const
-  {
-    if (!fun_addr_sym_map_
-	|| !var_addr_sym_map_
-	|| !fun_syms_
-	|| !var_syms_
-	|| !undefined_fun_syms_
-	|| !undefined_var_syms_)
-      return const_cast<read_context*>(this)->load_symbol_maps();
-    return false;
-  }
-
   /// Load the DT_NEEDED and DT_SONAME elf TAGS.
   ///
   void
@@ -6408,46 +5913,6 @@ void
 set_do_log(read_context& ctxt, bool f)
 {ctxt.do_log(f);}
 
-/// Setter of the "set_ignore_symbol_table" flag.
-///
-/// This flag tells if we should load information about ELF symbol
-/// tables.  Not loading the symbol tables is a speed optimization
-/// that is done when the set of symbols we care about is provided
-/// off-hand.  This is the case when we are supposed to analyze a
-/// Linux kernel binary.  In that case, because we have the white list
-/// of functions/variable symbols we care about, we don't need to
-/// analyze the symbol table; things are thus faster in that case.
-///
-/// By default, the symbol table is analyzed so this boolean is set to
-/// false.
-///
-/// @param ctxt the read context to consider.
-///
-/// @param f the new value of the flag.
-void
-set_ignore_symbol_table(read_context &ctxt, bool f)
-{ctxt.options_.ignore_symbol_table = f;}
-
-/// Getter of the "set_ignore_symbol_table" flag.
-///
-/// This flag tells if we should load information about ELF symbol
-/// tables.  Not loading the symbol tables is a speed optimization
-/// that is done when the set of symbols we care about is provided
-/// off-hand.  This is the case when we are supposed to analyze a
-/// Linux kernel binary.  In that case, because we have the white list
-/// of functions/variable symbols we care about, we don't need to
-/// analyze the symbol table; things are thus faster in that case.
-///
-/// By default, the symbol table is analyzed so this boolean is set to
-/// false.
-///
-/// @param ctxt the read context to consider.
-///
-/// @return the value of the flag.
-bool
-get_ignore_symbol_table(const read_context& ctxt)
-{return ctxt.options_.ignore_symbol_table;}
-
 /// Test if a given DIE is anonymous
 ///
 /// @param die the DIE to consider.
@@ -13396,33 +12861,6 @@ build_or_get_var_decl_if_not_suppressed(read_context&	ctxt,
   return var;
 }
 
-/// Create a variable symbol with a given name.
-///
-/// @param sym_name the name of the variable symbol.
-///
-/// @param env the environment to create the default symbol in.
-///
-/// @return the newly created symbol.
-static elf_symbol_sptr
-create_default_var_sym(const string& sym_name, const environment *env)
-{
-  elf_symbol::version ver;
-  elf_symbol::visibility vis = elf_symbol::DEFAULT_VISIBILITY;
-  elf_symbol_sptr result =
-    elf_symbol::create(env,
-		       /*symbol index=*/ 0,
-		       /*symbol size=*/ 0,
-		       sym_name,
-		       /*symbol type=*/ elf_symbol::OBJECT_TYPE,
-		       /*symbol binding=*/ elf_symbol::GLOBAL_BINDING,
-		       /*symbol is defined=*/ true,
-		       /*symbol is common=*/ false,
-		       /*symbol version=*/ ver,
-		       /*symbol_visibility=*/vis,
-		       /*is_linux_string_cst=*/false);
-  return result;
-}
-
 /// Build a @ref var_decl out of a DW_TAG_variable DIE.
 ///
 /// @param ctxt the read context to use.
@@ -13494,23 +12932,9 @@ build_var_decl(read_context&	ctxt,
   if (!result->get_symbol())
     {
       elf_symbol_sptr var_sym;
-      if (get_ignore_symbol_table(ctxt))
-	{
-	  string var_name =
-	    result->get_linkage_name().empty()
-	    ? result->get_name()
-	    : result->get_linkage_name();
-
-	  var_sym = create_default_var_sym(var_name, ctxt.env());
-	  ABG_ASSERT(var_sym);
-	  add_symbol_to_map(var_sym, ctxt.var_syms());
-	}
-      else
-	{
-	  Dwarf_Addr var_addr;
-	  if (ctxt.get_variable_address(die, var_addr))
-	    var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
-	}
+      Dwarf_Addr      var_addr;
+      if (ctxt.get_variable_address(die, var_addr))
+	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
 
       if (var_sym)
 	{
@@ -13571,15 +12995,9 @@ function_is_suppressed(const read_context& ctxt,
       Dwarf_Addr fn_addr;
       if (!ctxt.get_function_address(function_die, fn_addr))
 	return true;
-      if (!get_ignore_symbol_table(ctxt))
-	{
-	  // We were not instructed to ignore (avoid loading) the
-	  // symbol table, so we can rely on its presence to see if
-	  // the address corresponds to the address of an exported
-	  // function symbol.
-	  if (!ctxt.function_symbol_is_exported(fn_addr))
-	    return true;
-	}
+
+      if (!ctxt.function_symbol_is_exported(fn_addr))
+	return true;
     }
 
   return suppr::function_is_suppressed(ctxt, qualified_name,
@@ -13682,15 +13100,9 @@ variable_is_suppressed(const read_context& ctxt,
       Dwarf_Addr var_addr = 0;
       if (!ctxt.get_variable_address(variable_die, var_addr))
 	return true;
-      if (!get_ignore_symbol_table(ctxt))
-	{
-	  // We were not instructed to ignore (avoid loading) the
-	  // symbol table, so we can rely on its presence to see if
-	  // the address corresponds to the address of an exported
-	  // variable symbol.
-	  if (!ctxt.variable_symbol_is_exported(var_addr))
-	    return true;
-	}
+
+      if (!ctxt.variable_symbol_is_exported(var_addr))
+	return true;
     }
 
   return suppr::variable_is_suppressed(ctxt, qualified_name,
@@ -13941,23 +13353,9 @@ build_function_decl(read_context&	ctxt,
   if (!result->get_symbol())
     {
       elf_symbol_sptr fn_sym;
-      if (get_ignore_symbol_table(ctxt))
-	{
-	  string fn_name =
-	    result->get_linkage_name().empty()
-	    ? result->get_name()
-	    : result->get_linkage_name();
-
-	  fn_sym = create_default_fn_sym(fn_name, ctxt.env());
-	  ABG_ASSERT(fn_sym);
-	  add_symbol_to_map(fn_sym, ctxt.fun_syms());
-	}
-      else
-	{
-	  Dwarf_Addr fn_addr;
-	  if (ctxt.get_function_address(die, fn_addr))
-	    fn_sym = ctxt.function_symbol_is_exported(fn_addr);
-	}
+      Dwarf_Addr      fn_addr;
+      if (ctxt.get_function_address(die, fn_addr))
+	fn_sym = ctxt.function_symbol_is_exported(fn_addr);
 
       if (fn_sym)
 	{
@@ -13987,29 +13385,6 @@ build_function_decl(read_context&	ctxt,
   return result;
 }
 
-/// Add a symbol to a symbol map.
-///
-/// @param sym the symbol to add.
-///
-/// @param map the symbol map to add the symbol into.
-static void
-add_symbol_to_map(const elf_symbol_sptr& sym,
-		  string_elf_symbols_map_type& map)
-{
-  if (!sym)
-    return;
-
-  string_elf_symbols_map_type::iterator it = map.find(sym->get_name());
-  if (it == map.end())
-    {
-      elf_symbols syms;
-      syms.push_back(sym);
-      map[sym->get_name()] = syms;
-    }
-  else
-    it->second.push_back(sym);
-}
-
 /// Read all @ref abigail::translation_unit possible from the debug info
 /// accessible through a DWARF Front End Library handle, and stuff
 /// them into a libabigail ABI Corpus.
@@ -15254,13 +14629,6 @@ read_corpus_from_elf(read_context& ctxt, status& status)
 
   ctxt.load_elf_properties();  // DT_SONAME, DT_NEEDED, architecture
 
-  if (!get_ignore_symbol_table(ctxt))
-    {
-      // Read the symbols for publicly defined decls
-      if (!ctxt.load_symbol_maps())
-	status |= STATUS_NO_SYMBOLS_FOUND;
-    }
-
   if (!ctxt.symtab() || !ctxt.symtab()->has_symbols())
     status |= STATUS_NO_SYMBOLS_FOUND;
 
diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc
index dfbec879de8d..9116a97a62e9 100644
--- a/src/abg-tools-utils.cc
+++ b/src/abg-tools-utils.cc
@@ -2563,12 +2563,6 @@ build_corpus_group_from_kernel_dist_under(const string&	root,
 		      << t
 		      << "\n";
 
-	  // If we have been given a whitelist of functions and
-	  // variable symbols to look at, then we can avoid loading
-	  // and analyzing the ELF symbol table.
-	  bool do_ignore_symbol_table = !kabi_wl_paths.empty();
-	  set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
-
 	  group.reset(new corpus_group(env.get(), root));
 
 	  set_read_context_corpus_group(*ctxt, group);
@@ -2608,13 +2602,6 @@ build_corpus_group_from_kernel_dist_under(const string&	root,
 				 /*read_all_types=*/false,
 				 /*linux_kernel_mode=*/true);
 
-	      // If we have been given a whitelist of functions and
-	      // variable symbols to look at, then we can avoid loading
-	      // and analyzing the ELF symbol table.
-	      bool do_ignore_symbol_table = !kabi_wl_paths.empty();
-
-	      set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
-
 	      load_generate_apply_suppressions(*ctxt, suppr_paths,
 					       kabi_wl_paths, supprs);
 
diff --git a/tools/abidw.cc b/tools/abidw.cc
index 2cd848df9fb8..58072e7072c4 100644
--- a/tools/abidw.cc
+++ b/tools/abidw.cc
@@ -828,8 +828,6 @@ main(int argc, char* argv[])
       set_show_stats(ctxt, opts.show_stats);
       set_suppressions(ctxt, opts);
       abigail::dwarf_reader::set_do_log(ctxt, opts.do_log);
-      if (!opts.kabi_whitelist_supprs.empty())
-	set_ignore_symbol_table(ctxt, true);
 
       if (opts.check_alt_debug_info_path)
 	{
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 17/21] test-symtab: add tests for whitelisted functions
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (15 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 16/21] dwarf reader: drop now-unused code related to symbol table reading Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 18/21] symtab/dwarf-reader: allow hinting of main symbols for aliases Matthias Maennich
                     ` (4 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Extend the test functionality in test-symtab to allow processing of KMI
whitelists and add additional test cases for whitelist handling.

	* tests/data/Makefile.am: add new test files
	* tests/data/test-symtab/basic/ofov_all.whitelist: New test file,
	* tests/data/test-symtab/basic/ofov_function.whitelist: Likewise.
	* tests/data/test-symtab/basic/ofov_irrelevant.whitelist: Likewise.
	* tests/data/test-symtab/basic/ofov_variable.whitelist: Likewise.
	* tests/test-symtab.cc (read_corpus): Add support for whitelists.
	(assert_symbol_count): Likewise.
	(Symtab::SymtabWithWhitelist): New testcase.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 tests/data/Makefile.am                        |   4 +
 .../one_function_one_variable_all.whitelist   |   3 +
 ...e_function_one_variable_function.whitelist |   2 +
 ...function_one_variable_irrelevant.whitelist |   2 +
 ...e_function_one_variable_variable.whitelist |   2 +
 tests/test-symtab.cc                          | 103 ++++++++++++++++--
 6 files changed, 109 insertions(+), 7 deletions(-)
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist

diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 8ccd50a0d5bc..cf86fb51d492 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -1768,6 +1768,10 @@ test-symtab/basic/no_debug_info.c \
 test-symtab/basic/no_debug_info.so \
 test-symtab/basic/one_function_one_variable.c \
 test-symtab/basic/one_function_one_variable.so \
+test-symtab/basic/one_function_one_variable_variable.whitelist \
+test-symtab/basic/one_function_one_variable_function.whitelist \
+test-symtab/basic/one_function_one_variable_irrelevant.whitelist \
+test-symtab/basic/one_function_one_variable_all.whitelist \
 test-symtab/basic/one_function_one_variable_undefined.c \
 test-symtab/basic/one_function_one_variable_undefined.so \
 test-symtab/basic/single_function.c \
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_all.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
new file mode 100644
index 000000000000..02ea310960ff
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
@@ -0,0 +1,3 @@
+[abi_whitelist]
+  exported_function
+  exported_variable
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_function.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
new file mode 100644
index 000000000000..893accc14118
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
@@ -0,0 +1,2 @@
+[abi_whitelist]
+  exported_function
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
new file mode 100644
index 000000000000..180ef9064e8f
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
@@ -0,0 +1,2 @@
+[abi_whitelist]
+  irrelevant
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist
new file mode 100644
index 000000000000..49d838f2c559
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist
@@ -0,0 +1,2 @@
+[abi_whitelist]
+  exported_variable
diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index c144b1d080f6..09e5193fa667 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -26,11 +26,14 @@
 
 #include <iostream>
 #include <limits>
+#include <string>
 #include <vector>
 
 #include "abg-corpus.h"
 #include "abg-dwarf-reader.h"
+#include "abg-fwd.h"
 #include "abg-ir.h"
+#include "abg-tools-utils.h"
 #include "lib/catch.hpp"
 #include "test-utils.h"
 
@@ -41,12 +44,16 @@ using dwarf_reader::read_context_sptr;
 using dwarf_reader::read_corpus_from_elf;
 using ir::environment;
 using ir::environment_sptr;
+using suppr::suppressions_type;
 
 static const std::string test_data_dir =
     std::string(abigail::tests::get_src_dir()) + "/tests/data/test-symtab/";
 
 dwarf_reader::status
-read_corpus(const std::string path, corpus_sptr& result)
+read_corpus(
+  const std::string&		  path,
+  corpus_sptr&			  result,
+  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())
 {
   const std::string& absolute_path = test_data_dir + path;
 
@@ -56,6 +63,15 @@ read_corpus(const std::string path, corpus_sptr& result)
       absolute_path, debug_info_root_paths, env.get(),
       /* load_all_type = */ true, /* linux_kernel_mode = */ true);
 
+  if (!whitelist_paths.empty())
+    {
+      const suppressions_type& wl_suppr =
+	tools_utils::gen_suppr_spec_from_kernel_abi_whitelists(
+	  whitelist_paths);
+      REQUIRE_FALSE(wl_suppr.empty());
+      dwarf_reader::add_read_context_suppressions(*ctxt, wl_suppr);
+    }
+
   dwarf_reader::status status = dwarf_reader::STATUS_UNKNOWN;
   result = read_corpus_from_elf(*ctxt, status);
 
@@ -91,14 +107,17 @@ TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
 #define N std::numeric_limits<size_t>::max()
 
 corpus_sptr
-assert_symbol_count(const std::string& path,
-		    size_t	       function_symbols = 0,
-		    size_t	       variable_symbols = 0,
-		    size_t	       undefined_function_symbols = 0,
-		    size_t	       undefined_variable_symbols = 0)
+assert_symbol_count(
+  const std::string&		  path,
+  size_t			  function_symbols = 0,
+  size_t			  variable_symbols = 0,
+  size_t			  undefined_function_symbols = 0,
+  size_t			  undefined_variable_symbols = 0,
+  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())
 {
   corpus_sptr		     corpus_ptr;
-  const dwarf_reader::status status = read_corpus(path, corpus_ptr);
+  const dwarf_reader::status status =
+    read_corpus(path, corpus_ptr, whitelist_paths);
   REQUIRE(corpus_ptr);
 
   REQUIRE((status & dwarf_reader::STATUS_OK));
@@ -203,6 +222,76 @@ TEST_CASE("Symtab::SimpleSymtabs", "[symtab, basic]")
   }
 }
 
+TEST_CASE("Symtab::SymtabWithWhitelist", "[symtab, whitelist]")
+{
+  GIVEN("a binary with one function and one variable exported")
+  {
+    const std::string binary = "basic/one_function_one_variable.so";
+
+    GIVEN("we read the binary without any whitelists")
+    {
+      const corpus_sptr& corpus = assert_symbol_count(binary, 1, 1);
+      CHECK(corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+
+    GIVEN("we read the binary with all symbols on the whitelists")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(test_data_dir
+			   + "basic/one_function_one_variable_all.whitelist");
+      const corpus_sptr& corpus =
+	assert_symbol_count(binary, 1, 1, 0, 0, whitelists);
+      CHECK(corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+
+    GIVEN("we read the binary with only irrelevant symbols whitelisted")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(
+	test_data_dir
+	+ "basic/one_function_one_variable_irrelevant.whitelist");
+
+      corpus_sptr		 corpus_ptr;
+      const dwarf_reader::status status =
+	read_corpus(binary, corpus_ptr, whitelists);
+      REQUIRE(!corpus_ptr);
+      REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
+    }
+
+    GIVEN("we read the binary with only the function whitelisted")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(
+	test_data_dir + "basic/one_function_one_variable_function.whitelist");
+      const corpus_sptr& corpus =
+	assert_symbol_count(binary, 1, 0, 0, 0, whitelists);
+      CHECK(corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+
+    GIVEN("we read the binary with only the variable whitelisted")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(
+	test_data_dir + "basic/one_function_one_variable_variable.whitelist");
+      const corpus_sptr& corpus =
+	assert_symbol_count(binary, 0, 1, 0, 0, whitelists);
+      CHECK(!corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+  }
+}
+
 static const char* kernel_versions[] = { "4.14", "4.19", "5.4", "5.6" };
 static const size_t nr_kernel_versions =
     sizeof(kernel_versions) / sizeof(kernel_versions[0]);
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 18/21] symtab/dwarf-reader: allow hinting of main symbols for aliases
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (16 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 17/21] test-symtab: add tests for whitelisted functions Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 19/21] dwarf-reader/writer: consider aliases when dealing with suppressions Matthias Maennich
                     ` (3 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In case of aliased symbols, the "main symbol" cannot be deduced from
the symtab as this solely contains a name->addr mapping and aliases
are represented by multiple names resolving to the same address.
Therefore the main symbol can only be picked rather randomly and
unpredictable.

Unlike DWARF, which contains a single symbol entry for only the main
symbol. Hence we can (late) detect the main symbol. Exploiting that
property allows to correct the addr->symbol lookup in the symtab to
return the correct main symbol and it also allows to correct the aliased
symbols to maintain the correct main symbol.

This patch adds the `update_main_symbol` functionality to `elf_symbol`
to update the main symbol by name (ELF symbols need unique names) and
adds `update_main_symbol` to `symtab` that makes use of said new method.

When we discover a main symbol during DWARF reading, we instruct the
symtab to update the mapping.

This creates consistent representations across different builds of the
same binary with the same ABI by pinning down the main symbol to the
defined one. Knowing the main symbol also helps to keep the correct
dwarf information in the representation in the presence of symbol
suppressions. A later patch will address that.

Some test cases in tests/data need adjustment and they have all been
verified to be valid changes.

- main symbol changed for various elf symbols
  - test-annotate/test15-pr18892.so.abi
  - test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
  - test-annotate/test3.so.abi
  - test-read-dwarf/test15-pr18892.so.abi
  - test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
  - test-read-dwarf/test3.so.abi
  - test-read-dwarf/test3.so.hash.abi

- due to main symbol changes, the symbol diff needs to be corrected
  - test-diff-dwarf/test12-report.txt
  - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
  - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt

- the test scenario needed adjustments as the main symbol changed
  - test-diff-suppr/test23-alias-filter-4.suppr
  - test-diff-suppr/test23-alias-filter-report-0.txt
  - test-diff-suppr/test23-alias-filter-report-2.txt

As usual, the complete changelog follows.

	* include/abg-ir.h (elf_symbol::update_main_symbol): New method.
	* include/abg-symtab-reader.h (symtab::update_main_symbol): New method.
	* src/abg-dwarf-reader.cc
	(build_var_decl): Hint symtab about main symbol discovered in DWARF.
	(build_function_decl): Likewise.
	* src/abg-ir.cc (elf_symbol::get_main_symbol): Lock the weak_ptr
	  on access in both overloads.
	(update_main_symbol): New method to allow updating the main symbol.
	* src/abg-symtab-reader.cc (symtab::update_main_symbol): New method.
	* data/Makefile.am: Add new test data files.
	* tests/data/test-annotate/test15-pr18892.so.abi: Updated test file.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
	* tests/data/test-annotate/test2.so.abi: Likewise.
	* tests/data/test-annotate/test3.so.abi: Likewise.
	* tests/data/test-diff-dwarf/test12-report.txt: Likewise.
	* tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Likewise.
	* tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: Likewise.
	* tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: Likewise.
	* tests/data/test-diff-suppr/test23-alias-filter-4.suppr: Likewise.
	* tests/data/test-diff-suppr/test23-alias-filter-report-0.txt: Likewise.
	* tests/data/test-diff-suppr/test23-alias-filter-report-2.txt: Likewise.
	* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
	* tests/data/test-read-dwarf/test2.so.abi: Likewise.
	* tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise.
	* tests/data/test-read-dwarf/test3.so.abi: Likewise.
	* tests/data/test-read-dwarf/test3.so.hash.abi: Likewise.
	* tests/data/test-symtab/basic/aliases.c: New test source file.
	* tests/data/test-symtab/basic/aliases.so: Likewise.
	* tests/test-symtab.cc (Symtab::AliasedFunctionSymbols): New test case.
	(Symtab::AliasedVariableSymbols): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h                              |   3 +
 include/abg-symtab-reader.h                   |  13 +
 src/abg-dwarf-reader.cc                       |  16 +-
 src/abg-ir.cc                                 |  46 +-
 src/abg-symtab-reader.cc                      |  21 +
 tests/data/Makefile.am                        |   2 +
 .../data/test-annotate/test15-pr18892.so.abi  | 918 ++++++++---------
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |  60 +-
 tests/data/test-annotate/test2.so.abi         |  12 +-
 tests/data/test-annotate/test3.so.abi         |   6 +-
 tests/data/test-diff-dwarf/test12-report.txt  |   7 +
 .../test42-PR21296-clanggcc-report0.txt       |   4 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-0.txt |   6 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-1.txt |   6 +-
 .../test23-alias-filter-4.suppr               |   4 +-
 .../test23-alias-filter-report-0.txt          |   4 +-
 .../test23-alias-filter-report-2.txt          |   4 +-
 .../PR22015-libboost_iostreams.so.abi         |  48 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    |   6 +-
 .../test-read-dwarf/test10-pr18818-gcc.so.abi | 192 ++--
 .../test-read-dwarf/test11-pr18828.so.abi     | 516 +++++-----
 .../test-read-dwarf/test12-pr18844.so.abi     |  60 +-
 .../test-read-dwarf/test15-pr18892.so.abi     | 918 ++++++++---------
 .../test-read-dwarf/test16-pr18904.so.abi     | 964 +++++++++---------
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |  60 +-
 tests/data/test-read-dwarf/test2.so.abi       |  12 +-
 tests/data/test-read-dwarf/test2.so.hash.abi  |  12 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 878 ++++++++--------
 tests/data/test-read-dwarf/test3.so.abi       |   6 +-
 tests/data/test-read-dwarf/test3.so.hash.abi  |   6 +-
 tests/data/test-symtab/basic/aliases.c        |  13 +
 tests/data/test-symtab/basic/aliases.so       | Bin 0 -> 17176 bytes
 tests/test-symtab.cc                          |  47 +
 33 files changed, 2512 insertions(+), 2358 deletions(-)
 create mode 100644 tests/data/test-symtab/basic/aliases.c
 create mode 100755 tests/data/test-symtab/basic/aliases.so

diff --git a/include/abg-ir.h b/include/abg-ir.h
index 838d3f80695a..c150075df3b8 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -968,6 +968,9 @@ public:
   bool
   is_main_symbol() const;
 
+  elf_symbol_sptr
+  update_main_symbol(const std::string&);
+
   elf_symbol_sptr
   get_next_alias() const;
 
diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h
index 06001b26ebeb..9065b6ad4209 100644
--- a/include/abg-symtab-reader.h
+++ b/include/abg-symtab-reader.h
@@ -315,6 +315,19 @@ public:
   load(string_elf_symbols_map_sptr function_symbol_map,
        string_elf_symbols_map_sptr variables_symbol_map);
 
+  /// Notify the symtab about the name of the main symbol at a given address.
+  ///
+  /// From just alone the symtab we can't guess the main symbol of a bunch of
+  /// aliased symbols that all point to the same address. During processing of
+  /// additional information (such as DWARF), this information becomes apparent
+  /// and we can adjust the addr->symbol lookup map as well as the alias
+  /// reference of the symbol objects.
+  ///
+  /// @param addr the addr that we are updating the main symbol for
+  /// @param name the name of the main symbol
+  void
+  update_main_symbol(GElf_Addr addr, const std::string& name);
+
 private:
   /// Default constructor. Private to enforce creation by factory methods.
   symtab();
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 6ed316e19ac1..4120b03b8ac5 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -12934,7 +12934,13 @@ build_var_decl(read_context&	ctxt,
       elf_symbol_sptr var_sym;
       Dwarf_Addr      var_addr;
       if (ctxt.get_variable_address(die, var_addr))
-	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
+	{
+	  ctxt.symtab()->update_main_symbol(var_addr,
+					    result->get_linkage_name().empty()
+					      ? result->get_name()
+					      : result->get_linkage_name());
+	  var_sym = ctxt.variable_symbol_is_exported(var_addr);
+	}
 
       if (var_sym)
 	{
@@ -13355,7 +13361,13 @@ build_function_decl(read_context&	ctxt,
       elf_symbol_sptr fn_sym;
       Dwarf_Addr      fn_addr;
       if (ctxt.get_function_address(die, fn_addr))
-	fn_sym = ctxt.function_symbol_is_exported(fn_addr);
+	{
+	  ctxt.symtab()->update_main_symbol(fn_addr,
+					    result->get_linkage_name().empty()
+					      ? result->get_name()
+					      : result->get_linkage_name());
+	  fn_sym = ctxt.function_symbol_is_exported(fn_addr);
+	}
 
       if (fn_sym)
 	{
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index c69284f0946a..5a0f9f968034 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1744,14 +1744,14 @@ elf_symbol::set_is_suppressed(bool is_suppressed)
 ///@return the main symbol.
 const elf_symbol_sptr
 elf_symbol::get_main_symbol() const
-{return elf_symbol_sptr(priv_->main_symbol_);}
+{return priv_->main_symbol_.lock();}
 
 /// Get the main symbol of an alias chain.
 ///
 ///@return the main symbol.
 elf_symbol_sptr
 elf_symbol::get_main_symbol()
-{return elf_symbol_sptr(priv_->main_symbol_);}
+{return priv_->main_symbol_.lock();}
 
 /// Tests whether this symbol is the main symbol.
 ///
@@ -1828,6 +1828,48 @@ elf_symbol::add_alias(const elf_symbol_sptr& alias)
   alias->priv_->main_symbol_ = get_main_symbol();
 }
 
+/// Update the main symbol for a group of aliased symbols
+///
+/// If after the construction of the symbols (in order of discovery), the
+/// actual main symbol can be identified (e.g. as the symbol that actually is
+/// defined in the code), this method offers a way of updating the main symbol
+/// through one of the aliased symbols.
+///
+/// For that, locate the new main symbol by name and update all references to
+/// the main symbol among the group of aliased symbols.
+///
+/// @param name the name of the main symbol
+///
+/// @return the new main elf_symbol
+elf_symbol_sptr
+elf_symbol::update_main_symbol(const std::string& name)
+{
+
+  if (!has_aliases() || (is_main_symbol() && get_name() == name))
+    return get_main_symbol();
+
+  // find the new main symbol
+  elf_symbol_sptr new_main;
+  for (elf_symbol_sptr a = get_next_alias(); a.get() != this;
+       a = a->get_next_alias())
+    if (a->get_name() == name)
+      {
+	new_main = a;
+	break;
+      }
+
+  if (!new_main)
+    return get_main_symbol();
+
+  // now update all main symbol references
+  for (elf_symbol_sptr a = get_next_alias();
+       a->get_main_symbol() != new_main;
+       a = a->get_next_alias())
+    a->priv_->main_symbol_ = new_main;
+
+  return new_main;
+}
+
 /// Return true if the symbol is a common one.
 ///
 /// @return true iff the symbol is common.
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index aefc8d6dcd86..f84ed79dae17 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -356,6 +356,27 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
   return true;
 }
 
+void
+symtab::update_main_symbol(GElf_Addr addr, const std::string& name)
+{
+  // get one symbol (i.e. the current main symbol)
+  elf_symbol_sptr symbol = lookup_symbol(addr);
+
+  // The caller might not know whether the addr is associated to an ELF symbol
+  // that we care about. E.g. the addr could be associated to an ELF symbol,
+  // but not one in .dynsym when looking at a DSO. Hence, early exit if the
+  // lookup failed.
+  if (!symbol)
+    return;
+
+  // determine the new main symbol by attempting an update
+  elf_symbol_sptr new_main = symbol->update_main_symbol(name);
+
+  // also update the default symbol we return when looked up by address
+  if (new_main)
+    addr_symbol_map_[addr] = new_main;
+}
+
 void
 symtab::update_function_entry_address_symbol_map(
     Elf*		   elf_handle,
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index cf86fb51d492..054acb8c5376 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -1760,6 +1760,8 @@ test-kmi-whitelist/whitelist-with-duplicate-entry \
 test-kmi-whitelist/whitelist-with-two-sections \
 \
 test-symtab/basic/Makefile \
+test-symtab/basic/aliases.c \
+test-symtab/basic/aliases.so \
 test-symtab/basic/empty.c \
 test-symtab/basic/empty.so \
 test-symtab/basic/link_against_me.c \
diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi
index 4e93c02de863..cb593b418801 100644
--- a/tests/data/test-annotate/test15-pr18892.so.abi
+++ b/tests/data/test-annotate/test15-pr18892.so.abi
@@ -193,7 +193,7 @@
     <!-- __close -->
     <elf-symbol name='__close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cxa_atexit -->
-    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___cxa_atexit' is-defined='yes'/>
+    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cxa_guard_abort -->
     <elf-symbol name='__cxa_guard_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cxa_guard_acquire -->
@@ -207,45 +207,45 @@
     <!-- __interceptor___close -->
     <elf-symbol name='__interceptor___close' type='func-type' binding='global-binding' visibility='default-visibility' alias='__close' is-defined='yes'/>
     <!-- __interceptor___cxa_atexit -->
-    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='__cxa_atexit' is-defined='yes'/>
     <!-- __interceptor___fxstat -->
     <elf-symbol name='__interceptor___fxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat' is-defined='yes'/>
     <!-- __interceptor___fxstat64 -->
     <elf-symbol name='__interceptor___fxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat64' is-defined='yes'/>
     <!-- __interceptor___isoc99_fscanf -->
-    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_fscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_scanf -->
-    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_scanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_sscanf -->
-    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_sscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_vfscanf -->
-    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vfscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_vscanf -->
-    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_vsscanf -->
-    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vsscanf' is-defined='yes'/>
     <!-- __interceptor___libc_memalign -->
     <elf-symbol name='__interceptor___libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_memalign' is-defined='yes'/>
     <!-- __interceptor___lxstat -->
-    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat' is-defined='yes'/>
     <!-- __interceptor___lxstat64 -->
-    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat64' is-defined='yes'/>
     <!-- __interceptor___res_iclose -->
     <elf-symbol name='__interceptor___res_iclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='__res_iclose' is-defined='yes'/>
     <!-- __interceptor___sigsetjmp -->
     <elf-symbol name='__interceptor___sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __interceptor___xpg_strerror_r -->
-    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xpg_strerror_r' is-defined='yes'/>
     <!-- __interceptor___xstat -->
     <elf-symbol name='__interceptor___xstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat' is-defined='yes'/>
     <!-- __interceptor___xstat64 -->
-    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat64' is-defined='yes'/>
     <!-- __interceptor__exit -->
-    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='_exit' is-defined='yes'/>
     <!-- __interceptor__setjmp -->
     <elf-symbol name='__interceptor__setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __interceptor_abort -->
-    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' alias='abort' is-defined='yes'/>
     <!-- __interceptor_accept -->
     <elf-symbol name='__interceptor_accept' type='func-type' binding='global-binding' visibility='default-visibility' alias='accept' is-defined='yes'/>
     <!-- __interceptor_accept4 -->
@@ -253,7 +253,7 @@
     <!-- __interceptor_asctime -->
     <elf-symbol name='__interceptor_asctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime' is-defined='yes'/>
     <!-- __interceptor_asctime_r -->
-    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime_r' is-defined='yes'/>
     <!-- __interceptor_atexit -->
     <elf-symbol name='__interceptor_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='atexit' is-defined='yes'/>
     <!-- __interceptor_backtrace -->
@@ -261,69 +261,69 @@
     <!-- __interceptor_backtrace_symbols -->
     <elf-symbol name='__interceptor_backtrace_symbols' type='func-type' binding='global-binding' visibility='default-visibility' alias='backtrace_symbols' is-defined='yes'/>
     <!-- __interceptor_bind -->
-    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' alias='bind' is-defined='yes'/>
     <!-- __interceptor_calloc -->
-    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc' is-defined='yes'/>
     <!-- __interceptor_canonicalize_file_name -->
-    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='canonicalize_file_name' is-defined='yes'/>
     <!-- __interceptor_cfree -->
-    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='cfree' is-defined='yes'/>
     <!-- __interceptor_clock_getres -->
     <elf-symbol name='__interceptor_clock_getres' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_getres' is-defined='yes'/>
     <!-- __interceptor_clock_gettime -->
-    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_gettime' is-defined='yes'/>
     <!-- __interceptor_clock_settime -->
-    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_settime' is-defined='yes'/>
     <!-- __interceptor_close -->
-    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' alias='close' is-defined='yes'/>
     <!-- __interceptor_confstr -->
-    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='confstr' is-defined='yes'/>
     <!-- __interceptor_connect -->
-    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' alias='connect' is-defined='yes'/>
     <!-- __interceptor_creat -->
     <elf-symbol name='__interceptor_creat' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat' is-defined='yes'/>
     <!-- __interceptor_creat64 -->
     <elf-symbol name='__interceptor_creat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat64' is-defined='yes'/>
     <!-- __interceptor_ctime -->
-    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime' is-defined='yes'/>
     <!-- __interceptor_ctime_r -->
-    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime_r' is-defined='yes'/>
     <!-- __interceptor_dlclose -->
     <elf-symbol name='__interceptor_dlclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlclose' is-defined='yes'/>
     <!-- __interceptor_dlopen -->
     <elf-symbol name='__interceptor_dlopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlopen' is-defined='yes'/>
     <!-- __interceptor_drand48_r -->
-    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='drand48_r' is-defined='yes'/>
     <!-- __interceptor_dup -->
-    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup' is-defined='yes'/>
     <!-- __interceptor_dup2 -->
-    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup2' is-defined='yes'/>
     <!-- __interceptor_dup3 -->
     <elf-symbol name='__interceptor_dup3' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup3' is-defined='yes'/>
     <!-- __interceptor_epoll_create -->
     <elf-symbol name='__interceptor_epoll_create' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create' is-defined='yes'/>
     <!-- __interceptor_epoll_create1 -->
-    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create1' is-defined='yes'/>
     <!-- __interceptor_epoll_ctl -->
-    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_ctl' is-defined='yes'/>
     <!-- __interceptor_epoll_wait -->
-    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_wait' is-defined='yes'/>
     <!-- __interceptor_ether_aton -->
     <elf-symbol name='__interceptor_ether_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton' is-defined='yes'/>
     <!-- __interceptor_ether_aton_r -->
-    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton_r' is-defined='yes'/>
     <!-- __interceptor_ether_hostton -->
-    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_hostton' is-defined='yes'/>
     <!-- __interceptor_ether_line -->
-    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_line' is-defined='yes'/>
     <!-- __interceptor_ether_ntoa -->
     <elf-symbol name='__interceptor_ether_ntoa' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa' is-defined='yes'/>
     <!-- __interceptor_ether_ntoa_r -->
-    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa_r' is-defined='yes'/>
     <!-- __interceptor_ether_ntohost -->
-    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntohost' is-defined='yes'/>
     <!-- __interceptor_eventfd -->
-    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='eventfd' is-defined='yes'/>
     <!-- __interceptor_fclose -->
     <elf-symbol name='__interceptor_fclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='fclose' is-defined='yes'/>
     <!-- __interceptor_fflush -->
@@ -341,7 +341,7 @@
     <!-- __interceptor_frexp -->
     <elf-symbol name='__interceptor_frexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexp' is-defined='yes'/>
     <!-- __interceptor_frexpf -->
-    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpf' is-defined='yes'/>
     <!-- __interceptor_frexpl -->
     <elf-symbol name='__interceptor_frexpl' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpl' is-defined='yes'/>
     <!-- __interceptor_fscanf -->
@@ -353,19 +353,19 @@
     <!-- __interceptor_fstatfs -->
     <elf-symbol name='__interceptor_fstatfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs' is-defined='yes'/>
     <!-- __interceptor_fstatfs64 -->
-    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs64' is-defined='yes'/>
     <!-- __interceptor_fstatvfs -->
     <elf-symbol name='__interceptor_fstatvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs' is-defined='yes'/>
     <!-- __interceptor_fstatvfs64 -->
-    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs64' is-defined='yes'/>
     <!-- __interceptor_fwrite -->
-    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='fwrite' is-defined='yes'/>
     <!-- __interceptor_get_current_dir_name -->
-    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='get_current_dir_name' is-defined='yes'/>
     <!-- __interceptor_getaddrinfo -->
     <elf-symbol name='__interceptor_getaddrinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='getaddrinfo' is-defined='yes'/>
     <!-- __interceptor_getcwd -->
-    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' alias='getcwd' is-defined='yes'/>
     <!-- __interceptor_getdelim -->
     <elf-symbol name='__interceptor_getdelim' type='func-type' binding='global-binding' visibility='default-visibility' alias='getdelim' is-defined='yes'/>
     <!-- __interceptor_getgroups -->
@@ -373,67 +373,67 @@
     <!-- __interceptor_gethostbyaddr -->
     <elf-symbol name='__interceptor_gethostbyaddr' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr' is-defined='yes'/>
     <!-- __interceptor_gethostbyaddr_r -->
-    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr_r' is-defined='yes'/>
     <!-- __interceptor_gethostbyname -->
-    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname' is-defined='yes'/>
     <!-- __interceptor_gethostbyname2 -->
     <elf-symbol name='__interceptor_gethostbyname2' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2' is-defined='yes'/>
     <!-- __interceptor_gethostbyname2_r -->
     <elf-symbol name='__interceptor_gethostbyname2_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2_r' is-defined='yes'/>
     <!-- __interceptor_gethostbyname_r -->
-    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname_r' is-defined='yes'/>
     <!-- __interceptor_gethostent -->
     <elf-symbol name='__interceptor_gethostent' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent' is-defined='yes'/>
     <!-- __interceptor_gethostent_r -->
     <elf-symbol name='__interceptor_gethostent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent_r' is-defined='yes'/>
     <!-- __interceptor_getitimer -->
-    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' alias='getitimer' is-defined='yes'/>
     <!-- __interceptor_getline -->
-    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' alias='getline' is-defined='yes'/>
     <!-- __interceptor_getmntent -->
     <elf-symbol name='__interceptor_getmntent' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent' is-defined='yes'/>
     <!-- __interceptor_getmntent_r -->
-    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent_r' is-defined='yes'/>
     <!-- __interceptor_getpeername -->
-    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' alias='getpeername' is-defined='yes'/>
     <!-- __interceptor_getsockname -->
     <elf-symbol name='__interceptor_getsockname' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockname' is-defined='yes'/>
     <!-- __interceptor_getsockopt -->
     <elf-symbol name='__interceptor_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockopt' is-defined='yes'/>
     <!-- __interceptor_gettimeofday -->
-    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' alias='gettimeofday' is-defined='yes'/>
     <!-- __interceptor_gmtime -->
-    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime' is-defined='yes'/>
     <!-- __interceptor_gmtime_r -->
     <elf-symbol name='__interceptor_gmtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime_r' is-defined='yes'/>
     <!-- __interceptor_iconv -->
-    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' alias='iconv' is-defined='yes'/>
     <!-- __interceptor_inet_aton -->
-    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_aton' is-defined='yes'/>
     <!-- __interceptor_inet_ntop -->
     <elf-symbol name='__interceptor_inet_ntop' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_ntop' is-defined='yes'/>
     <!-- __interceptor_inet_pton -->
     <elf-symbol name='__interceptor_inet_pton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_pton' is-defined='yes'/>
     <!-- __interceptor_initgroups -->
-    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' alias='initgroups' is-defined='yes'/>
     <!-- __interceptor_inotify_init -->
     <elf-symbol name='__interceptor_inotify_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init' is-defined='yes'/>
     <!-- __interceptor_inotify_init1 -->
-    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init1' is-defined='yes'/>
     <!-- __interceptor_ioctl -->
-    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='ioctl' is-defined='yes'/>
     <!-- __interceptor_kill -->
     <elf-symbol name='__interceptor_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='kill' is-defined='yes'/>
     <!-- __interceptor_lgamma -->
-    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma' is-defined='yes'/>
     <!-- __interceptor_lgamma_r -->
-    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma_r' is-defined='yes'/>
     <!-- __interceptor_lgammaf -->
     <elf-symbol name='__interceptor_lgammaf' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf' is-defined='yes'/>
     <!-- __interceptor_lgammaf_r -->
     <elf-symbol name='__interceptor_lgammaf_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf_r' is-defined='yes'/>
     <!-- __interceptor_lgammal -->
-    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal' is-defined='yes'/>
     <!-- __interceptor_lgammal_r -->
     <elf-symbol name='__interceptor_lgammal_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal_r' is-defined='yes'/>
     <!-- __interceptor_listen -->
@@ -441,25 +441,25 @@
     <!-- __interceptor_localtime -->
     <elf-symbol name='__interceptor_localtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime' is-defined='yes'/>
     <!-- __interceptor_localtime_r -->
-    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime_r' is-defined='yes'/>
     <!-- __interceptor_longjmp -->
-    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='longjmp' is-defined='yes'/>
     <!-- __interceptor_lrand48_r -->
     <elf-symbol name='__interceptor_lrand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lrand48_r' is-defined='yes'/>
     <!-- __interceptor_lstat -->
     <elf-symbol name='__interceptor_lstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat' is-defined='yes'/>
     <!-- __interceptor_lstat64 -->
-    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat64' is-defined='yes'/>
     <!-- __interceptor_malloc -->
-    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc' is-defined='yes'/>
     <!-- __interceptor_malloc_usable_size -->
-    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size' is-defined='yes'/>
     <!-- __interceptor_mbsnrtowcs -->
-    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsnrtowcs' is-defined='yes'/>
     <!-- __interceptor_mbsrtowcs -->
-    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsrtowcs' is-defined='yes'/>
     <!-- __interceptor_mbstowcs -->
-    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbstowcs' is-defined='yes'/>
     <!-- __interceptor_memalign -->
     <elf-symbol name='__interceptor_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='memalign' is-defined='yes'/>
     <!-- __interceptor_memchr -->
@@ -467,39 +467,39 @@
     <!-- __interceptor_memcmp -->
     <elf-symbol name='__interceptor_memcmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcmp' is-defined='yes'/>
     <!-- __interceptor_memcpy -->
-    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcpy' is-defined='yes'/>
     <!-- __interceptor_memmove -->
-    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' alias='memmove' is-defined='yes'/>
     <!-- __interceptor_memrchr -->
     <elf-symbol name='__interceptor_memrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='memrchr' is-defined='yes'/>
     <!-- __interceptor_memset -->
     <elf-symbol name='__interceptor_memset' type='func-type' binding='global-binding' visibility='default-visibility' alias='memset' is-defined='yes'/>
     <!-- __interceptor_mlock -->
-    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlock' is-defined='yes'/>
     <!-- __interceptor_mlockall -->
-    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlockall' is-defined='yes'/>
     <!-- __interceptor_mmap -->
-    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap' is-defined='yes'/>
     <!-- __interceptor_mmap64 -->
     <elf-symbol name='__interceptor_mmap64' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap64' is-defined='yes'/>
     <!-- __interceptor_modf -->
     <elf-symbol name='__interceptor_modf' type='func-type' binding='global-binding' visibility='default-visibility' alias='modf' is-defined='yes'/>
     <!-- __interceptor_modff -->
-    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' alias='modff' is-defined='yes'/>
     <!-- __interceptor_modfl -->
-    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' alias='modfl' is-defined='yes'/>
     <!-- __interceptor_munlock -->
-    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlock' is-defined='yes'/>
     <!-- __interceptor_munlockall -->
     <elf-symbol name='__interceptor_munlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlockall' is-defined='yes'/>
     <!-- __interceptor_munmap -->
     <elf-symbol name='__interceptor_munmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='munmap' is-defined='yes'/>
     <!-- __interceptor_nanosleep -->
-    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='nanosleep' is-defined='yes'/>
     <!-- __interceptor_on_exit -->
     <elf-symbol name='__interceptor_on_exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='on_exit' is-defined='yes'/>
     <!-- __interceptor_open -->
-    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' alias='open' is-defined='yes'/>
     <!-- __interceptor_open64 -->
     <elf-symbol name='__interceptor_open64' type='func-type' binding='global-binding' visibility='default-visibility' alias='open64' is-defined='yes'/>
     <!-- __interceptor_opendir -->
@@ -509,43 +509,43 @@
     <!-- __interceptor_pipe2 -->
     <elf-symbol name='__interceptor_pipe2' type='func-type' binding='global-binding' visibility='default-visibility' alias='pipe2' is-defined='yes'/>
     <!-- __interceptor_poll -->
-    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' alias='poll' is-defined='yes'/>
     <!-- __interceptor_posix_memalign -->
     <elf-symbol name='__interceptor_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='posix_memalign' is-defined='yes'/>
     <!-- __interceptor_ppoll -->
-    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' alias='ppoll' is-defined='yes'/>
     <!-- __interceptor_prctl -->
-    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='prctl' is-defined='yes'/>
     <!-- __interceptor_pread -->
     <elf-symbol name='__interceptor_pread' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread' is-defined='yes'/>
     <!-- __interceptor_pread64 -->
     <elf-symbol name='__interceptor_pread64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread64' is-defined='yes'/>
     <!-- __interceptor_preadv -->
-    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv' is-defined='yes'/>
     <!-- __interceptor_preadv64 -->
-    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv64' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getaffinity_np -->
-    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getaffinity_np' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getdetachstate -->
-    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getdetachstate' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getguardsize -->
-    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getguardsize' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getinheritsched -->
     <elf-symbol name='__interceptor_pthread_attr_getinheritsched' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getinheritsched' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getschedparam -->
     <elf-symbol name='__interceptor_pthread_attr_getschedparam' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedparam' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getschedpolicy -->
-    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedpolicy' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getscope -->
-    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getscope' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getstack -->
-    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstack' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getstacksize -->
     <elf-symbol name='__interceptor_pthread_attr_getstacksize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstacksize' is-defined='yes'/>
     <!-- __interceptor_pthread_barrier_destroy -->
     <elf-symbol name='__interceptor_pthread_barrier_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_barrier_init -->
-    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_init' is-defined='yes'/>
     <!-- __interceptor_pthread_barrier_wait -->
     <elf-symbol name='__interceptor_pthread_barrier_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_wait' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_broadcast -->
@@ -555,7 +555,7 @@
     <!-- __interceptor_pthread_cond_init -->
     <elf-symbol name='__interceptor_pthread_cond_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_init' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_signal -->
-    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_signal' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_timedwait -->
     <elf-symbol name='__interceptor_pthread_cond_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_timedwait' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_wait -->
@@ -569,21 +569,21 @@
     <!-- __interceptor_pthread_join -->
     <elf-symbol name='__interceptor_pthread_join' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_join' is-defined='yes'/>
     <!-- __interceptor_pthread_kill -->
-    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_kill' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_destroy -->
     <elf-symbol name='__interceptor_pthread_mutex_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_init -->
-    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_init' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_lock -->
-    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_lock' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_timedlock -->
     <elf-symbol name='__interceptor_pthread_mutex_timedlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_timedlock' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_trylock -->
-    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_trylock' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_unlock -->
     <elf-symbol name='__interceptor_pthread_mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_unlock' is-defined='yes'/>
     <!-- __interceptor_pthread_once -->
-    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_once' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_destroy -->
     <elf-symbol name='__interceptor_pthread_rwlock_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_init -->
@@ -591,13 +591,13 @@
     <!-- __interceptor_pthread_rwlock_rdlock -->
     <elf-symbol name='__interceptor_pthread_rwlock_rdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_rdlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_timedrdlock -->
-    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedrdlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_timedwrlock -->
     <elf-symbol name='__interceptor_pthread_rwlock_timedwrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedwrlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_tryrdlock -->
-    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_tryrdlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_trywrlock -->
-    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_trywrlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_unlock -->
     <elf-symbol name='__interceptor_pthread_rwlock_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_unlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_wrlock -->
@@ -607,9 +607,9 @@
     <!-- __interceptor_pthread_spin_destroy -->
     <elf-symbol name='__interceptor_pthread_spin_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_init -->
-    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_init' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_lock -->
-    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_lock' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_trylock -->
     <elf-symbol name='__interceptor_pthread_spin_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_trylock' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_unlock -->
@@ -621,19 +621,19 @@
     <!-- __interceptor_pvalloc -->
     <elf-symbol name='__interceptor_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc' is-defined='yes'/>
     <!-- __interceptor_pwrite -->
-    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite' is-defined='yes'/>
     <!-- __interceptor_pwrite64 -->
-    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite64' is-defined='yes'/>
     <!-- __interceptor_pwritev -->
-    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev' is-defined='yes'/>
     <!-- __interceptor_pwritev64 -->
-    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev64' is-defined='yes'/>
     <!-- __interceptor_raise -->
     <elf-symbol name='__interceptor_raise' type='func-type' binding='global-binding' visibility='default-visibility' alias='raise' is-defined='yes'/>
     <!-- __interceptor_random_r -->
     <elf-symbol name='__interceptor_random_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='random_r' is-defined='yes'/>
     <!-- __interceptor_read -->
-    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' alias='read' is-defined='yes'/>
     <!-- __interceptor_readdir -->
     <elf-symbol name='__interceptor_readdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir' is-defined='yes'/>
     <!-- __interceptor_readdir64 -->
@@ -641,49 +641,49 @@
     <!-- __interceptor_readdir64_r -->
     <elf-symbol name='__interceptor_readdir64_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir64_r' is-defined='yes'/>
     <!-- __interceptor_readdir_r -->
-    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir_r' is-defined='yes'/>
     <!-- __interceptor_readv -->
-    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' alias='readv' is-defined='yes'/>
     <!-- __interceptor_realloc -->
-    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='realloc' is-defined='yes'/>
     <!-- __interceptor_realpath -->
-    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' alias='realpath' is-defined='yes'/>
     <!-- __interceptor_recv -->
-    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' alias='recv' is-defined='yes'/>
     <!-- __interceptor_recvmsg -->
     <elf-symbol name='__interceptor_recvmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='recvmsg' is-defined='yes'/>
     <!-- __interceptor_remquo -->
-    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquo' is-defined='yes'/>
     <!-- __interceptor_remquof -->
-    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquof' is-defined='yes'/>
     <!-- __interceptor_remquol -->
-    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquol' is-defined='yes'/>
     <!-- __interceptor_rmdir -->
-    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='rmdir' is-defined='yes'/>
     <!-- __interceptor_scandir -->
     <elf-symbol name='__interceptor_scandir' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir' is-defined='yes'/>
     <!-- __interceptor_scandir64 -->
     <elf-symbol name='__interceptor_scandir64' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir64' is-defined='yes'/>
     <!-- __interceptor_scanf -->
-    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='scanf' is-defined='yes'/>
     <!-- __interceptor_sched_getaffinity -->
-    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' alias='sched_getaffinity' is-defined='yes'/>
     <!-- __interceptor_sem_destroy -->
-    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_destroy' is-defined='yes'/>
     <!-- __interceptor_sem_getvalue -->
     <elf-symbol name='__interceptor_sem_getvalue' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_getvalue' is-defined='yes'/>
     <!-- __interceptor_sem_init -->
-    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_init' is-defined='yes'/>
     <!-- __interceptor_sem_post -->
     <elf-symbol name='__interceptor_sem_post' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_post' is-defined='yes'/>
     <!-- __interceptor_sem_timedwait -->
-    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_timedwait' is-defined='yes'/>
     <!-- __interceptor_sem_trywait -->
     <elf-symbol name='__interceptor_sem_trywait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_trywait' is-defined='yes'/>
     <!-- __interceptor_sem_wait -->
     <elf-symbol name='__interceptor_sem_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_wait' is-defined='yes'/>
     <!-- __interceptor_send -->
-    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' alias='send' is-defined='yes'/>
     <!-- __interceptor_sendmsg -->
     <elf-symbol name='__interceptor_sendmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='sendmsg' is-defined='yes'/>
     <!-- __interceptor_setitimer -->
@@ -695,19 +695,19 @@
     <!-- __interceptor_shmctl -->
     <elf-symbol name='__interceptor_shmctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='shmctl' is-defined='yes'/>
     <!-- __interceptor_sigaction -->
-    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigaction' is-defined='yes'/>
     <!-- __interceptor_sigemptyset -->
     <elf-symbol name='__interceptor_sigemptyset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigemptyset' is-defined='yes'/>
     <!-- __interceptor_sigfillset -->
-    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigfillset' is-defined='yes'/>
     <!-- __interceptor_siglongjmp -->
     <elf-symbol name='__interceptor_siglongjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='siglongjmp' is-defined='yes'/>
     <!-- __interceptor_signal -->
     <elf-symbol name='__interceptor_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='signal' is-defined='yes'/>
     <!-- __interceptor_signalfd -->
-    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='signalfd' is-defined='yes'/>
     <!-- __interceptor_sigpending -->
-    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigpending' is-defined='yes'/>
     <!-- __interceptor_sigprocmask -->
     <elf-symbol name='__interceptor_sigprocmask' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigprocmask' is-defined='yes'/>
     <!-- __interceptor_sigsetjmp -->
@@ -719,23 +719,23 @@
     <!-- __interceptor_sigwait -->
     <elf-symbol name='__interceptor_sigwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwait' is-defined='yes'/>
     <!-- __interceptor_sigwaitinfo -->
-    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwaitinfo' is-defined='yes'/>
     <!-- __interceptor_sincos -->
-    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincos' is-defined='yes'/>
     <!-- __interceptor_sincosf -->
     <elf-symbol name='__interceptor_sincosf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosf' is-defined='yes'/>
     <!-- __interceptor_sincosl -->
     <elf-symbol name='__interceptor_sincosl' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosl' is-defined='yes'/>
     <!-- __interceptor_sleep -->
-    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='sleep' is-defined='yes'/>
     <!-- __interceptor_socket -->
     <elf-symbol name='__interceptor_socket' type='func-type' binding='global-binding' visibility='default-visibility' alias='socket' is-defined='yes'/>
     <!-- __interceptor_socketpair -->
     <elf-symbol name='__interceptor_socketpair' type='func-type' binding='global-binding' visibility='default-visibility' alias='socketpair' is-defined='yes'/>
     <!-- __interceptor_sscanf -->
-    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sscanf' is-defined='yes'/>
     <!-- __interceptor_stat -->
-    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat' is-defined='yes'/>
     <!-- __interceptor_stat64 -->
     <elf-symbol name='__interceptor_stat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat64' is-defined='yes'/>
     <!-- __interceptor_statfs -->
@@ -745,7 +745,7 @@
     <!-- __interceptor_statvfs -->
     <elf-symbol name='__interceptor_statvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs' is-defined='yes'/>
     <!-- __interceptor_statvfs64 -->
-    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs64' is-defined='yes'/>
     <!-- __interceptor_strcasecmp -->
     <elf-symbol name='__interceptor_strcasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strcasecmp' is-defined='yes'/>
     <!-- __interceptor_strchr -->
@@ -761,93 +761,93 @@
     <!-- __interceptor_strerror -->
     <elf-symbol name='__interceptor_strerror' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror' is-defined='yes'/>
     <!-- __interceptor_strerror_r -->
-    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror_r' is-defined='yes'/>
     <!-- __interceptor_strlen -->
     <elf-symbol name='__interceptor_strlen' type='func-type' binding='global-binding' visibility='default-visibility' alias='strlen' is-defined='yes'/>
     <!-- __interceptor_strncasecmp -->
-    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncasecmp' is-defined='yes'/>
     <!-- __interceptor_strncmp -->
     <elf-symbol name='__interceptor_strncmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncmp' is-defined='yes'/>
     <!-- __interceptor_strncpy -->
-    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncpy' is-defined='yes'/>
     <!-- __interceptor_strptime -->
     <elf-symbol name='__interceptor_strptime' type='func-type' binding='global-binding' visibility='default-visibility' alias='strptime' is-defined='yes'/>
     <!-- __interceptor_strrchr -->
-    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strrchr' is-defined='yes'/>
     <!-- __interceptor_strstr -->
     <elf-symbol name='__interceptor_strstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strstr' is-defined='yes'/>
     <!-- __interceptor_strtoimax -->
-    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoimax' is-defined='yes'/>
     <!-- __interceptor_strtoumax -->
-    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoumax' is-defined='yes'/>
     <!-- __interceptor_sysinfo -->
-    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sysinfo' is-defined='yes'/>
     <!-- __interceptor_tcgetattr -->
     <elf-symbol name='__interceptor_tcgetattr' type='func-type' binding='global-binding' visibility='default-visibility' alias='tcgetattr' is-defined='yes'/>
     <!-- __interceptor_tempnam -->
-    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tempnam' is-defined='yes'/>
     <!-- __interceptor_textdomain -->
-    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' alias='textdomain' is-defined='yes'/>
     <!-- __interceptor_time -->
-    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' alias='time' is-defined='yes'/>
     <!-- __interceptor_times -->
     <elf-symbol name='__interceptor_times' type='func-type' binding='global-binding' visibility='default-visibility' alias='times' is-defined='yes'/>
     <!-- __interceptor_tmpnam -->
-    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam' is-defined='yes'/>
     <!-- __interceptor_tmpnam_r -->
-    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam_r' is-defined='yes'/>
     <!-- __interceptor_unlink -->
-    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' alias='unlink' is-defined='yes'/>
     <!-- __interceptor_usleep -->
     <elf-symbol name='__interceptor_usleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='usleep' is-defined='yes'/>
     <!-- __interceptor_valloc -->
     <elf-symbol name='__interceptor_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc' is-defined='yes'/>
     <!-- __interceptor_vfscanf -->
-    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vfscanf' is-defined='yes'/>
     <!-- __interceptor_vscanf -->
-    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vscanf' is-defined='yes'/>
     <!-- __interceptor_vsscanf -->
     <elf-symbol name='__interceptor_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vsscanf' is-defined='yes'/>
     <!-- __interceptor_wait -->
     <elf-symbol name='__interceptor_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait' is-defined='yes'/>
     <!-- __interceptor_wait3 -->
-    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait3' is-defined='yes'/>
     <!-- __interceptor_wait4 -->
-    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait4' is-defined='yes'/>
     <!-- __interceptor_waitid -->
-    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitid' is-defined='yes'/>
     <!-- __interceptor_waitpid -->
     <elf-symbol name='__interceptor_waitpid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitpid' is-defined='yes'/>
     <!-- __interceptor_wcsnrtombs -->
     <elf-symbol name='__interceptor_wcsnrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsnrtombs' is-defined='yes'/>
     <!-- __interceptor_wcsrtombs -->
-    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsrtombs' is-defined='yes'/>
     <!-- __interceptor_wcstombs -->
     <elf-symbol name='__interceptor_wcstombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcstombs' is-defined='yes'/>
     <!-- __interceptor_wordexp -->
     <elf-symbol name='__interceptor_wordexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='wordexp' is-defined='yes'/>
     <!-- __interceptor_write -->
-    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' alias='write' is-defined='yes'/>
     <!-- __interceptor_writev -->
     <elf-symbol name='__interceptor_writev' type='func-type' binding='global-binding' visibility='default-visibility' alias='writev' is-defined='yes'/>
     <!-- __isoc99_fscanf -->
-    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_fscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_scanf -->
-    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_scanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_sscanf -->
-    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_sscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_vfscanf -->
-    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vfscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_vscanf -->
-    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_vsscanf -->
-    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vsscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_memalign -->
     <elf-symbol name='__libc_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __lxstat -->
-    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat' is-defined='yes'/>
+    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __lxstat64 -->
-    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat64' is-defined='yes'/>
+    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __res_iclose -->
     <elf-symbol name='__res_iclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_cov -->
@@ -2223,11 +2223,11 @@
     <!-- __sanitizer_unaligned_load64 -->
     <elf-symbol name='__sanitizer_unaligned_load64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_unaligned_store16 -->
-    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write2' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_unaligned_store32 -->
     <elf-symbol name='__sanitizer_unaligned_store32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_unaligned_store64 -->
-    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write8' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sigsetjmp -->
     <elf-symbol name='__sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __tsan_acquire -->
@@ -2407,11 +2407,11 @@
     <!-- __tsan_unaligned_read8 -->
     <elf-symbol name='__tsan_unaligned_read8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load64' is-defined='yes'/>
     <!-- __tsan_unaligned_write2 -->
-    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store16' is-defined='yes'/>
     <!-- __tsan_unaligned_write4 -->
     <elf-symbol name='__tsan_unaligned_write4' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store32' is-defined='yes'/>
     <!-- __tsan_unaligned_write8 -->
-    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store64' is-defined='yes'/>
     <!-- __tsan_vptr_read -->
     <elf-symbol name='__tsan_vptr_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __tsan_vptr_update -->
@@ -2429,13 +2429,13 @@
     <!-- __tsan_write_range -->
     <elf-symbol name='__tsan_write_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __xpg_strerror_r -->
-    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xpg_strerror_r' is-defined='yes'/>
+    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __xstat -->
     <elf-symbol name='__xstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __xstat64 -->
-    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xstat64' is-defined='yes'/>
+    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _exit -->
-    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor__exit' is-defined='yes'/>
+    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _fini -->
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _init -->
@@ -2443,7 +2443,7 @@
     <!-- _setjmp -->
     <elf-symbol name='_setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- abort -->
-    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_abort' is-defined='yes'/>
+    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- accept -->
     <elf-symbol name='accept' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- accept4 -->
@@ -2451,7 +2451,7 @@
     <!-- asctime -->
     <elf-symbol name='asctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- asctime_r -->
-    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_asctime_r' is-defined='yes'/>
+    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- atexit -->
     <elf-symbol name='atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- backtrace -->
@@ -2459,69 +2459,69 @@
     <!-- backtrace_symbols -->
     <elf-symbol name='backtrace_symbols' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- bind -->
-    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_bind' is-defined='yes'/>
+    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- calloc -->
-    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_calloc' is-defined='yes'/>
+    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- canonicalize_file_name -->
-    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_canonicalize_file_name' is-defined='yes'/>
+    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cfree -->
-    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_cfree' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- clock_getres -->
     <elf-symbol name='clock_getres' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- clock_gettime -->
-    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_gettime' is-defined='yes'/>
+    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- clock_settime -->
-    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_settime' is-defined='yes'/>
+    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- close -->
-    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_close' is-defined='yes'/>
+    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- confstr -->
-    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_confstr' is-defined='yes'/>
+    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- connect -->
-    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_connect' is-defined='yes'/>
+    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- creat -->
     <elf-symbol name='creat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- creat64 -->
     <elf-symbol name='creat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ctime -->
-    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime' is-defined='yes'/>
+    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ctime_r -->
-    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime_r' is-defined='yes'/>
+    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dlclose -->
     <elf-symbol name='dlclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dlopen -->
     <elf-symbol name='dlopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- drand48_r -->
-    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_drand48_r' is-defined='yes'/>
+    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dup -->
-    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup' is-defined='yes'/>
+    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dup2 -->
-    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup2' is-defined='yes'/>
+    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dup3 -->
     <elf-symbol name='dup3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_create -->
     <elf-symbol name='epoll_create' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_create1 -->
-    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_create1' is-defined='yes'/>
+    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_ctl -->
-    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_ctl' is-defined='yes'/>
+    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_wait -->
-    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_wait' is-defined='yes'/>
+    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_aton -->
     <elf-symbol name='ether_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_aton_r -->
-    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_aton_r' is-defined='yes'/>
+    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_hostton -->
-    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_hostton' is-defined='yes'/>
+    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_line -->
-    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_line' is-defined='yes'/>
+    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_ntoa -->
     <elf-symbol name='ether_ntoa' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_ntoa_r -->
-    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntoa_r' is-defined='yes'/>
+    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_ntohost -->
-    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntohost' is-defined='yes'/>
+    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- eventfd -->
-    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_eventfd' is-defined='yes'/>
+    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fclose -->
     <elf-symbol name='fclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fflush -->
@@ -2539,7 +2539,7 @@
     <!-- frexp -->
     <elf-symbol name='frexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- frexpf -->
-    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_frexpf' is-defined='yes'/>
+    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- frexpl -->
     <elf-symbol name='frexpl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fscanf -->
@@ -2551,19 +2551,19 @@
     <!-- fstatfs -->
     <elf-symbol name='fstatfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fstatfs64 -->
-    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatfs64' is-defined='yes'/>
+    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fstatvfs -->
     <elf-symbol name='fstatvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fstatvfs64 -->
-    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatvfs64' is-defined='yes'/>
+    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fwrite -->
-    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fwrite' is-defined='yes'/>
+    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- get_current_dir_name -->
-    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_get_current_dir_name' is-defined='yes'/>
+    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getaddrinfo -->
     <elf-symbol name='getaddrinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getcwd -->
-    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getcwd' is-defined='yes'/>
+    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getdelim -->
     <elf-symbol name='getdelim' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getgroups -->
@@ -2571,67 +2571,67 @@
     <!-- gethostbyaddr -->
     <elf-symbol name='gethostbyaddr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyaddr_r -->
-    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyaddr_r' is-defined='yes'/>
+    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname -->
-    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname' is-defined='yes'/>
+    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname2 -->
     <elf-symbol name='gethostbyname2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname2_r -->
     <elf-symbol name='gethostbyname2_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname_r -->
-    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname_r' is-defined='yes'/>
+    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostent -->
     <elf-symbol name='gethostent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostent_r -->
     <elf-symbol name='gethostent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getitimer -->
-    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getitimer' is-defined='yes'/>
+    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getline -->
-    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getline' is-defined='yes'/>
+    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getmntent -->
     <elf-symbol name='getmntent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getmntent_r -->
-    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getmntent_r' is-defined='yes'/>
+    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getpeername -->
-    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getpeername' is-defined='yes'/>
+    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getsockname -->
     <elf-symbol name='getsockname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getsockopt -->
     <elf-symbol name='getsockopt' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gettimeofday -->
-    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gettimeofday' is-defined='yes'/>
+    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gmtime -->
-    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gmtime' is-defined='yes'/>
+    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gmtime_r -->
     <elf-symbol name='gmtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- iconv -->
-    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_iconv' is-defined='yes'/>
+    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inet_aton -->
-    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inet_aton' is-defined='yes'/>
+    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inet_ntop -->
     <elf-symbol name='inet_ntop' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inet_pton -->
     <elf-symbol name='inet_pton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- initgroups -->
-    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_initgroups' is-defined='yes'/>
+    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inotify_init -->
     <elf-symbol name='inotify_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inotify_init1 -->
-    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inotify_init1' is-defined='yes'/>
+    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ioctl -->
-    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ioctl' is-defined='yes'/>
+    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- kill -->
     <elf-symbol name='kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgamma -->
-    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma' is-defined='yes'/>
+    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgamma_r -->
-    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma_r' is-defined='yes'/>
+    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammaf -->
     <elf-symbol name='lgammaf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammaf_r -->
     <elf-symbol name='lgammaf_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammal -->
-    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgammal' is-defined='yes'/>
+    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammal_r -->
     <elf-symbol name='lgammal_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- listen -->
@@ -2639,25 +2639,25 @@
     <!-- localtime -->
     <elf-symbol name='localtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- localtime_r -->
-    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_localtime_r' is-defined='yes'/>
+    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- longjmp -->
-    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_longjmp' is-defined='yes'/>
+    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lrand48_r -->
     <elf-symbol name='lrand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lstat -->
     <elf-symbol name='lstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lstat64 -->
-    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lstat64' is-defined='yes'/>
+    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc -->
-    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_usable_size -->
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc_usable_size' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mbsnrtowcs -->
-    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsnrtowcs' is-defined='yes'/>
+    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mbsrtowcs -->
-    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsrtowcs' is-defined='yes'/>
+    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mbstowcs -->
-    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbstowcs' is-defined='yes'/>
+    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memalign -->
     <elf-symbol name='memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memchr -->
@@ -2665,39 +2665,39 @@
     <!-- memcmp -->
     <elf-symbol name='memcmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memcpy -->
-    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memcpy' is-defined='yes'/>
+    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memmove -->
-    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memmove' is-defined='yes'/>
+    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memrchr -->
     <elf-symbol name='memrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memset -->
     <elf-symbol name='memset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mlock -->
-    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlock' is-defined='yes'/>
+    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mlockall -->
-    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlockall' is-defined='yes'/>
+    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mmap -->
-    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mmap' is-defined='yes'/>
+    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mmap64 -->
     <elf-symbol name='mmap64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- modf -->
     <elf-symbol name='modf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- modff -->
-    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modff' is-defined='yes'/>
+    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- modfl -->
-    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modfl' is-defined='yes'/>
+    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- munlock -->
-    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_munlock' is-defined='yes'/>
+    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- munlockall -->
     <elf-symbol name='munlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- munmap -->
     <elf-symbol name='munmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- nanosleep -->
-    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_nanosleep' is-defined='yes'/>
+    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- on_exit -->
     <elf-symbol name='on_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- open -->
-    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_open' is-defined='yes'/>
+    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- open64 -->
     <elf-symbol name='open64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- opendir -->
@@ -2707,43 +2707,43 @@
     <!-- pipe2 -->
     <elf-symbol name='pipe2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- poll -->
-    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_poll' is-defined='yes'/>
+    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- posix_memalign -->
     <elf-symbol name='posix_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ppoll -->
-    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ppoll' is-defined='yes'/>
+    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- prctl -->
-    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_prctl' is-defined='yes'/>
+    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pread -->
     <elf-symbol name='pread' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pread64 -->
     <elf-symbol name='pread64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- preadv -->
-    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv' is-defined='yes'/>
+    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- preadv64 -->
-    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv64' is-defined='yes'/>
+    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getaffinity_np -->
-    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getaffinity_np' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getdetachstate -->
-    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getdetachstate' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getguardsize -->
-    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getguardsize' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getinheritsched -->
     <elf-symbol name='pthread_attr_getinheritsched' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getschedparam -->
     <elf-symbol name='pthread_attr_getschedparam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getschedpolicy -->
-    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getschedpolicy' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getscope -->
-    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getscope' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getstack -->
-    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getstack' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getstacksize -->
     <elf-symbol name='pthread_attr_getstacksize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_barrier_destroy -->
     <elf-symbol name='pthread_barrier_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_barrier_init -->
-    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_barrier_init' is-defined='yes'/>
+    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_barrier_wait -->
     <elf-symbol name='pthread_barrier_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_broadcast -->
@@ -2753,7 +2753,7 @@
     <!-- pthread_cond_init -->
     <elf-symbol name='pthread_cond_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_signal -->
-    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_cond_signal' is-defined='yes'/>
+    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_timedwait -->
     <elf-symbol name='pthread_cond_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_wait -->
@@ -2767,21 +2767,21 @@
     <!-- pthread_join -->
     <elf-symbol name='pthread_join' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_kill -->
-    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_kill' is-defined='yes'/>
+    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_destroy -->
     <elf-symbol name='pthread_mutex_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_init -->
-    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_init' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_lock -->
-    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_timedlock -->
     <elf-symbol name='pthread_mutex_timedlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_trylock -->
-    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_trylock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_unlock -->
     <elf-symbol name='pthread_mutex_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_once -->
-    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_once' is-defined='yes'/>
+    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_destroy -->
     <elf-symbol name='pthread_rwlock_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_init -->
@@ -2789,13 +2789,13 @@
     <!-- pthread_rwlock_rdlock -->
     <elf-symbol name='pthread_rwlock_rdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_timedrdlock -->
-    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_timedrdlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_timedwrlock -->
     <elf-symbol name='pthread_rwlock_timedwrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_tryrdlock -->
-    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_tryrdlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_trywrlock -->
-    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_trywrlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_unlock -->
     <elf-symbol name='pthread_rwlock_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_wrlock -->
@@ -2805,9 +2805,9 @@
     <!-- pthread_spin_destroy -->
     <elf-symbol name='pthread_spin_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_init -->
-    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_init' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_lock -->
-    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_trylock -->
     <elf-symbol name='pthread_spin_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_unlock -->
@@ -2819,19 +2819,19 @@
     <!-- pvalloc -->
     <elf-symbol name='pvalloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwrite -->
-    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite' is-defined='yes'/>
+    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwrite64 -->
-    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite64' is-defined='yes'/>
+    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwritev -->
-    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev' is-defined='yes'/>
+    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwritev64 -->
-    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev64' is-defined='yes'/>
+    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- raise -->
     <elf-symbol name='raise' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- random_r -->
     <elf-symbol name='random_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- read -->
-    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_read' is-defined='yes'/>
+    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readdir -->
     <elf-symbol name='readdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readdir64 -->
@@ -2839,49 +2839,49 @@
     <!-- readdir64_r -->
     <elf-symbol name='readdir64_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readdir_r -->
-    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readdir_r' is-defined='yes'/>
+    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readv -->
-    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readv' is-defined='yes'/>
+    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- realloc -->
-    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realloc' is-defined='yes'/>
+    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- realpath -->
-    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realpath' is-defined='yes'/>
+    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- recv -->
-    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_recv' is-defined='yes'/>
+    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- recvmsg -->
     <elf-symbol name='recvmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- remquo -->
-    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquo' is-defined='yes'/>
+    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- remquof -->
-    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquof' is-defined='yes'/>
+    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- remquol -->
-    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquol' is-defined='yes'/>
+    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- rmdir -->
-    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_rmdir' is-defined='yes'/>
+    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- scandir -->
     <elf-symbol name='scandir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- scandir64 -->
     <elf-symbol name='scandir64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- scanf -->
-    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_scanf' is-defined='yes'/>
+    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sched_getaffinity -->
-    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sched_getaffinity' is-defined='yes'/>
+    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_destroy -->
-    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_destroy' is-defined='yes'/>
+    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_getvalue -->
     <elf-symbol name='sem_getvalue' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_init -->
-    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_init' is-defined='yes'/>
+    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_post -->
     <elf-symbol name='sem_post' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_timedwait -->
-    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_timedwait' is-defined='yes'/>
+    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_trywait -->
     <elf-symbol name='sem_trywait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_wait -->
     <elf-symbol name='sem_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- send -->
-    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_send' is-defined='yes'/>
+    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sendmsg -->
     <elf-symbol name='sendmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- setitimer -->
@@ -2893,19 +2893,19 @@
     <!-- shmctl -->
     <elf-symbol name='shmctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigaction -->
-    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigaction' is-defined='yes'/>
+    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigemptyset -->
     <elf-symbol name='sigemptyset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigfillset -->
-    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigfillset' is-defined='yes'/>
+    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- siglongjmp -->
     <elf-symbol name='siglongjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- signal -->
     <elf-symbol name='signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- signalfd -->
-    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_signalfd' is-defined='yes'/>
+    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigpending -->
-    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigpending' is-defined='yes'/>
+    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigprocmask -->
     <elf-symbol name='sigprocmask' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigsetjmp -->
@@ -2917,23 +2917,23 @@
     <!-- sigwait -->
     <elf-symbol name='sigwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigwaitinfo -->
-    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigwaitinfo' is-defined='yes'/>
+    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sincos -->
-    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sincos' is-defined='yes'/>
+    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sincosf -->
     <elf-symbol name='sincosf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sincosl -->
     <elf-symbol name='sincosl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sleep -->
-    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sleep' is-defined='yes'/>
+    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- socket -->
     <elf-symbol name='socket' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- socketpair -->
     <elf-symbol name='socketpair' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sscanf -->
-    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sscanf' is-defined='yes'/>
+    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- stat -->
-    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_stat' is-defined='yes'/>
+    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- stat64 -->
     <elf-symbol name='stat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- statfs -->
@@ -2943,7 +2943,7 @@
     <!-- statvfs -->
     <elf-symbol name='statvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- statvfs64 -->
-    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_statvfs64' is-defined='yes'/>
+    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strcasecmp -->
     <elf-symbol name='strcasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strchr -->
@@ -2959,73 +2959,73 @@
     <!-- strerror -->
     <elf-symbol name='strerror' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strerror_r -->
-    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strerror_r' is-defined='yes'/>
+    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strlen -->
     <elf-symbol name='strlen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strncasecmp -->
-    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncasecmp' is-defined='yes'/>
+    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strncmp -->
     <elf-symbol name='strncmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strncpy -->
-    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncpy' is-defined='yes'/>
+    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strptime -->
     <elf-symbol name='strptime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strrchr -->
-    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strrchr' is-defined='yes'/>
+    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strstr -->
     <elf-symbol name='strstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strtoimax -->
-    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoimax' is-defined='yes'/>
+    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strtoumax -->
-    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoumax' is-defined='yes'/>
+    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sysinfo -->
-    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sysinfo' is-defined='yes'/>
+    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tcgetattr -->
     <elf-symbol name='tcgetattr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tempnam -->
-    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tempnam' is-defined='yes'/>
+    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- textdomain -->
-    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_textdomain' is-defined='yes'/>
+    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- time -->
-    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_time' is-defined='yes'/>
+    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- times -->
     <elf-symbol name='times' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tmpnam -->
-    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam' is-defined='yes'/>
+    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tmpnam_r -->
-    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam_r' is-defined='yes'/>
+    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- unlink -->
-    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_unlink' is-defined='yes'/>
+    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- usleep -->
     <elf-symbol name='usleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- valloc -->
     <elf-symbol name='valloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- vfscanf -->
-    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vfscanf' is-defined='yes'/>
+    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- vscanf -->
-    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vscanf' is-defined='yes'/>
+    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- vsscanf -->
     <elf-symbol name='vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wait -->
     <elf-symbol name='wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wait3 -->
-    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait3' is-defined='yes'/>
+    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wait4 -->
-    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait4' is-defined='yes'/>
+    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- waitid -->
-    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_waitid' is-defined='yes'/>
+    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- waitpid -->
     <elf-symbol name='waitpid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wcsnrtombs -->
     <elf-symbol name='wcsnrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wcsrtombs -->
-    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wcsrtombs' is-defined='yes'/>
+    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wcstombs -->
     <elf-symbol name='wcstombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wordexp -->
     <elf-symbol name='wordexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- write -->
-    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_write' is-defined='yes'/>
+    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- writev -->
     <elf-symbol name='writev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
@@ -12798,7 +12798,7 @@
       <class-decl name='nothrow_t' size-in-bits='8' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='108' column='1' id='type-id-1009'/>
     </namespace-decl>
     <!-- int __interceptor_mlock(void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_mlock' mangled-name='mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlock'>
+    <function-decl name='__interceptor_mlock' mangled-name='__interceptor_mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -12807,7 +12807,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_munlock(void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_munlock' mangled-name='munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='munlock'>
+    <function-decl name='__interceptor_munlock' mangled-name='__interceptor_munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_munlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -12816,7 +12816,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_mlockall(int) -->
-    <function-decl name='__interceptor_mlockall' mangled-name='mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlockall'>
+    <function-decl name='__interceptor_mlockall' mangled-name='__interceptor_mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlockall'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- int -->
@@ -19261,7 +19261,7 @@
       <return type-id='type-id-1205'/>
     </function-decl>
     <!-- SIZE_T __interceptor_iconv(void*, char**, SIZE_T*, char**, SIZE_T*) -->
-    <function-decl name='__interceptor_iconv' mangled-name='iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iconv'>
+    <function-decl name='__interceptor_iconv' mangled-name='__interceptor_iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_iconv'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='cd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
       <!-- parameter of type 'char**' -->
@@ -19289,7 +19289,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_getline(char**, SIZE_T*, void*) -->
-    <function-decl name='__interceptor_getline' mangled-name='getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getline'>
+    <function-decl name='__interceptor_getline' mangled-name='__interceptor_getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getline'>
       <!-- parameter of type 'char**' -->
       <parameter type-id='type-id-110' name='lineptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
       <!-- parameter of type 'SIZE_T*' -->
@@ -19309,7 +19309,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_drand48_r(void*, double*) -->
-    <function-decl name='__interceptor_drand48_r' mangled-name='drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drand48_r'>
+    <function-decl name='__interceptor_drand48_r' mangled-name='__interceptor_drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_drand48_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='buffer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
       <!-- parameter of type 'double*' -->
@@ -19336,7 +19336,7 @@
       <return type-id='type-id-323'/>
     </function-decl>
     <!-- double __interceptor_lgamma_r(double, int*) -->
-    <function-decl name='__interceptor_lgamma_r' mangled-name='lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma_r'>
+    <function-decl name='__interceptor_lgamma_r' mangled-name='__interceptor_lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma_r'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <!-- parameter of type 'int*' -->
@@ -19345,7 +19345,7 @@
       <return type-id='type-id-322'/>
     </function-decl>
     <!-- long double __interceptor_lgammal(long double) -->
-    <function-decl name='__interceptor_lgammal' mangled-name='lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgammal'>
+    <function-decl name='__interceptor_lgammal' mangled-name='__interceptor_lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgammal'>
       <!-- parameter of type 'long double' -->
       <parameter type-id='type-id-327' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1'/>
       <!-- long double -->
@@ -19359,14 +19359,14 @@
       <return type-id='type-id-323'/>
     </function-decl>
     <!-- double __interceptor_lgamma(double) -->
-    <function-decl name='__interceptor_lgamma' mangled-name='lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma'>
+    <function-decl name='__interceptor_lgamma' mangled-name='__interceptor_lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1'/>
       <!-- double -->
       <return type-id='type-id-322'/>
     </function-decl>
     <!-- long double __interceptor_remquol(long double, long double, int*) -->
-    <function-decl name='__interceptor_remquol' mangled-name='remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquol'>
+    <function-decl name='__interceptor_remquol' mangled-name='__interceptor_remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquol'>
       <!-- parameter of type 'long double' -->
       <parameter type-id='type-id-327' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <!-- parameter of type 'long double' -->
@@ -19377,7 +19377,7 @@
       <return type-id='type-id-327'/>
     </function-decl>
     <!-- float __interceptor_remquof(float, float, int*) -->
-    <function-decl name='__interceptor_remquof' mangled-name='remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquof'>
+    <function-decl name='__interceptor_remquof' mangled-name='__interceptor_remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquof'>
       <!-- parameter of type 'float' -->
       <parameter type-id='type-id-323' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <!-- parameter of type 'float' -->
@@ -19388,7 +19388,7 @@
       <return type-id='type-id-323'/>
     </function-decl>
     <!-- double __interceptor_remquo(double, double, int*) -->
-    <function-decl name='__interceptor_remquo' mangled-name='remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquo'>
+    <function-decl name='__interceptor_remquo' mangled-name='__interceptor_remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquo'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
       <!-- parameter of type 'double' -->
@@ -19421,7 +19421,7 @@
       <return type-id='type-id-26'/>
     </function-decl>
     <!-- void __interceptor_sincos(double, double*, double*) -->
-    <function-decl name='__interceptor_sincos' mangled-name='sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sincos'>
+    <function-decl name='__interceptor_sincos' mangled-name='__interceptor_sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sincos'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
       <!-- parameter of type 'double*' -->
@@ -19441,7 +19441,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- char* __interceptor_tempnam(char*, char*) -->
-    <function-decl name='__interceptor_tempnam' mangled-name='tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tempnam'>
+    <function-decl name='__interceptor_tempnam' mangled-name='__interceptor_tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tempnam'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -19450,21 +19450,21 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_tmpnam_r(char*) -->
-    <function-decl name='__interceptor_tmpnam_r' mangled-name='tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam_r'>
+    <function-decl name='__interceptor_tmpnam_r' mangled-name='__interceptor_tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam_r'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <!-- char* -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_tmpnam(char*) -->
-    <function-decl name='__interceptor_tmpnam' mangled-name='tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam'>
+    <function-decl name='__interceptor_tmpnam' mangled-name='__interceptor_tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <!-- char* -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getaffinity_np(void*, SIZE_T, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getaffinity_np'>
+    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='__interceptor_pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getaffinity_np'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
       <!-- parameter of type 'typedef SIZE_T' -->
@@ -19484,7 +19484,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getstack(void*, void**, SIZE_T*) -->
-    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getstack'>
+    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='__interceptor_pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getstack'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
       <!-- parameter of type 'void**' -->
@@ -19504,7 +19504,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getscope(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getscope'>
+    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='__interceptor_pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getscope'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19513,7 +19513,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getschedpolicy(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getschedpolicy'>
+    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='__interceptor_pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getschedpolicy'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19531,7 +19531,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getguardsize(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getguardsize'>
+    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='__interceptor_pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getguardsize'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19540,7 +19540,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getdetachstate(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getdetachstate'>
+    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='__interceptor_pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getdetachstate'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19569,7 +19569,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_ether_addr* __interceptor_ether_aton_r(char*, __sanitizer::__sanitizer_ether_addr*) -->
-    <function-decl name='__interceptor_ether_aton_r' mangled-name='ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_aton_r'>
+    <function-decl name='__interceptor_ether_aton_r' mangled-name='__interceptor_ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_aton_r'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -19578,7 +19578,7 @@
       <return type-id='type-id-924'/>
     </function-decl>
     <!-- char* __interceptor_ether_ntoa_r(__sanitizer::__sanitizer_ether_addr*, char*) -->
-    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntoa_r'>
+    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='__interceptor_ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntoa_r'>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
       <parameter type-id='type-id-924' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -19587,7 +19587,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_ether_line(char*, __sanitizer::__sanitizer_ether_addr*, char*) -->
-    <function-decl name='__interceptor_ether_line' mangled-name='ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_line'>
+    <function-decl name='__interceptor_ether_line' mangled-name='__interceptor_ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_line'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -19598,7 +19598,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_ether_hostton(char*, __sanitizer::__sanitizer_ether_addr*) -->
-    <function-decl name='__interceptor_ether_hostton' mangled-name='ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_hostton'>
+    <function-decl name='__interceptor_ether_hostton' mangled-name='__interceptor_ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_hostton'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -19607,7 +19607,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_ether_ntohost(char*, __sanitizer::__sanitizer_ether_addr*) -->
-    <function-decl name='__interceptor_ether_ntohost' mangled-name='ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntohost'>
+    <function-decl name='__interceptor_ether_ntohost' mangled-name='__interceptor_ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntohost'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -19630,7 +19630,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_initgroups(char*, __sanitizer::u32) -->
-    <function-decl name='__interceptor_initgroups' mangled-name='initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initgroups'>
+    <function-decl name='__interceptor_initgroups' mangled-name='__interceptor_initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_initgroups'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::u32' -->
@@ -19639,7 +19639,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_fstatvfs64(int, void*) -->
-    <function-decl name='__interceptor_fstatvfs64' mangled-name='fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatvfs64'>
+    <function-decl name='__interceptor_fstatvfs64' mangled-name='__interceptor_fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatvfs64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19648,7 +19648,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_statvfs64(char*, void*) -->
-    <function-decl name='__interceptor_statvfs64' mangled-name='statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='statvfs64'>
+    <function-decl name='__interceptor_statvfs64' mangled-name='__interceptor_statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_statvfs64'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19675,7 +19675,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_fstatfs64(int, void*) -->
-    <function-decl name='__interceptor_fstatfs64' mangled-name='fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatfs64'>
+    <function-decl name='__interceptor_fstatfs64' mangled-name='__interceptor_fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatfs64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19711,7 +19711,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_mntent* __interceptor_getmntent_r(void*, __sanitizer::__sanitizer_mntent*, char*, int) -->
-    <function-decl name='__interceptor_getmntent_r' mangled-name='getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getmntent_r'>
+    <function-decl name='__interceptor_getmntent_r' mangled-name='__interceptor_getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getmntent_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='fp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_mntent*' -->
@@ -19738,7 +19738,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_cond_signal(void*) -->
-    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_cond_signal'>
+    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='__interceptor_pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_cond_signal'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -19770,14 +19770,14 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_mutex_lock(void*) -->
-    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_lock'>
+    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='__interceptor_pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_lock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- void __interceptor__exit(int) -->
-    <function-decl name='__interceptor__exit' mangled-name='_exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_exit'>
+    <function-decl name='__interceptor__exit' mangled-name='__interceptor__exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor__exit'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- void -->
@@ -19813,14 +19813,14 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sigpending(__sanitizer::__sanitizer_sigset_t*) -->
-    <function-decl name='__interceptor_sigpending' mangled-name='sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigpending'>
+    <function-decl name='__interceptor_sigpending' mangled-name='__interceptor_sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigpending'>
       <!-- parameter of type '__sanitizer::__sanitizer_sigset_t*' -->
       <parameter type-id='type-id-951' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <!-- int -->
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sigfillset(__sanitizer::__sanitizer_sigset_t*) -->
-    <function-decl name='__interceptor_sigfillset' mangled-name='sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigfillset'>
+    <function-decl name='__interceptor_sigfillset' mangled-name='__interceptor_sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigfillset'>
       <!-- parameter of type '__sanitizer::__sanitizer_sigset_t*' -->
       <parameter type-id='type-id-951' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <!-- int -->
@@ -19845,7 +19845,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sigwaitinfo(__sanitizer::__sanitizer_sigset_t*, void*) -->
-    <function-decl name='__interceptor_sigwaitinfo' mangled-name='sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigwaitinfo'>
+    <function-decl name='__interceptor_sigwaitinfo' mangled-name='__interceptor_sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigwaitinfo'>
       <!-- parameter of type '__sanitizer::__sanitizer_sigset_t*' -->
       <parameter type-id='type-id-951' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -19874,7 +19874,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_ppoll(__sanitizer::__sanitizer_pollfd*, __sanitizer::__sanitizer_nfds_t, void*, __sanitizer::__sanitizer_sigset_t*) -->
-    <function-decl name='__interceptor_ppoll' mangled-name='ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ppoll'>
+    <function-decl name='__interceptor_ppoll' mangled-name='__interceptor_ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ppoll'>
       <!-- parameter of type '__sanitizer::__sanitizer_pollfd*' -->
       <parameter type-id='type-id-950' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::__sanitizer_nfds_t' -->
@@ -19887,7 +19887,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_poll(__sanitizer::__sanitizer_pollfd*, __sanitizer::__sanitizer_nfds_t, int) -->
-    <function-decl name='__interceptor_poll' mangled-name='poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='poll'>
+    <function-decl name='__interceptor_poll' mangled-name='__interceptor_poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_poll'>
       <!-- parameter of type '__sanitizer::__sanitizer_pollfd*' -->
       <parameter type-id='type-id-950' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::__sanitizer_nfds_t' -->
@@ -19933,7 +19933,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___xpg_strerror_r(int, char*, SIZE_T) -->
-    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xpg_strerror_r'>
+    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__interceptor___xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xpg_strerror_r'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -19944,7 +19944,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- char* __interceptor_strerror_r(int, char*, SIZE_T) -->
-    <function-decl name='__interceptor_strerror_r' mangled-name='strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strerror_r'>
+    <function-decl name='__interceptor_strerror_r' mangled-name='__interceptor_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strerror_r'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -19962,7 +19962,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sched_getaffinity(int, SIZE_T, void*) -->
-    <function-decl name='__interceptor_sched_getaffinity' mangled-name='sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_getaffinity'>
+    <function-decl name='__interceptor_sched_getaffinity' mangled-name='__interceptor_sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sched_getaffinity'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <!-- parameter of type 'typedef SIZE_T' -->
@@ -19973,7 +19973,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- SIZE_T __interceptor_confstr(int, char*, SIZE_T) -->
-    <function-decl name='__interceptor_confstr' mangled-name='confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='confstr'>
+    <function-decl name='__interceptor_confstr' mangled-name='__interceptor_confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_confstr'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -19984,7 +19984,7 @@
       <return type-id='type-id-367'/>
     </function-decl>
     <!-- char* __interceptor_canonicalize_file_name(const char*) -->
-    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='canonicalize_file_name'>
+    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='__interceptor_canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_canonicalize_file_name'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2'/>
       <!-- char* -->
@@ -20015,7 +20015,7 @@
       <return type-id='type-id-367'/>
     </function-decl>
     <!-- SIZE_T __interceptor_wcsrtombs(char*, const wchar_t**, SIZE_T, void*) -->
-    <function-decl name='__interceptor_wcsrtombs' mangled-name='wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wcsrtombs'>
+    <function-decl name='__interceptor_wcsrtombs' mangled-name='__interceptor_wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wcsrtombs'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
       <!-- parameter of type 'const wchar_t**' -->
@@ -20039,7 +20039,7 @@
       <return type-id='type-id-367'/>
     </function-decl>
     <!-- SIZE_T __interceptor_mbsnrtowcs(wchar_t*, const char**, SIZE_T, SIZE_T, void*) -->
-    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsnrtowcs'>
+    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='__interceptor_mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsnrtowcs'>
       <!-- parameter of type 'wchar_t*' -->
       <parameter type-id='type-id-1193' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <!-- parameter of type 'const char**' -->
@@ -20054,7 +20054,7 @@
       <return type-id='type-id-367'/>
     </function-decl>
     <!-- SIZE_T __interceptor_mbsrtowcs(wchar_t*, const char**, SIZE_T, void*) -->
-    <function-decl name='__interceptor_mbsrtowcs' mangled-name='mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsrtowcs'>
+    <function-decl name='__interceptor_mbsrtowcs' mangled-name='__interceptor_mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsrtowcs'>
       <!-- parameter of type 'wchar_t*' -->
       <parameter type-id='type-id-1193' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <!-- parameter of type 'const char**' -->
@@ -20067,7 +20067,7 @@
       <return type-id='type-id-367'/>
     </function-decl>
     <!-- SIZE_T __interceptor_mbstowcs(wchar_t*, const char*, SIZE_T) -->
-    <function-decl name='__interceptor_mbstowcs' mangled-name='mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbstowcs'>
+    <function-decl name='__interceptor_mbstowcs' mangled-name='__interceptor_mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbstowcs'>
       <!-- parameter of type 'wchar_t*' -->
       <parameter type-id='type-id-1193' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20078,7 +20078,7 @@
       <return type-id='type-id-367'/>
     </function-decl>
     <!-- INTMAX_T __interceptor_strtoumax(const char*, char**, int) -->
-    <function-decl name='__interceptor_strtoumax' mangled-name='strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoumax'>
+    <function-decl name='__interceptor_strtoumax' mangled-name='__interceptor_strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoumax'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <!-- parameter of type 'char**' -->
@@ -20089,7 +20089,7 @@
       <return type-id='type-id-378'/>
     </function-decl>
     <!-- INTMAX_T __interceptor_strtoimax(const char*, char**, int) -->
-    <function-decl name='__interceptor_strtoimax' mangled-name='strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoimax'>
+    <function-decl name='__interceptor_strtoimax' mangled-name='__interceptor_strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoimax'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <!-- parameter of type 'char**' -->
@@ -20100,14 +20100,14 @@
       <return type-id='type-id-378'/>
     </function-decl>
     <!-- char* __interceptor_get_current_dir_name(int) -->
-    <function-decl name='__interceptor_get_current_dir_name' mangled-name='get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_current_dir_name'>
+    <function-decl name='__interceptor_get_current_dir_name' mangled-name='__interceptor_get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_get_current_dir_name'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
       <!-- char* -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_getcwd(char*, SIZE_T) -->
-    <function-decl name='__interceptor_getcwd' mangled-name='getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getcwd'>
+    <function-decl name='__interceptor_getcwd' mangled-name='__interceptor_getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getcwd'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
       <!-- parameter of type 'typedef SIZE_T' -->
@@ -20156,7 +20156,7 @@
       <return type-id='type-id-919'/>
     </function-decl>
     <!-- int __interceptor_readdir_r(void*, __sanitizer::__sanitizer_dirent*, __sanitizer::__sanitizer_dirent**) -->
-    <function-decl name='__interceptor_readdir_r' mangled-name='readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readdir_r'>
+    <function-decl name='__interceptor_readdir_r' mangled-name='__interceptor_readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readdir_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_dirent*' -->
@@ -20174,14 +20174,14 @@
       <return type-id='type-id-914'/>
     </function-decl>
     <!-- int __interceptor_sysinfo(void*) -->
-    <function-decl name='__interceptor_sysinfo' mangled-name='sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysinfo'>
+    <function-decl name='__interceptor_sysinfo' mangled-name='__interceptor_sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sysinfo'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_getpeername(int, void*, unsigned int*) -->
-    <function-decl name='__interceptor_getpeername' mangled-name='getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getpeername'>
+    <function-decl name='__interceptor_getpeername' mangled-name='__interceptor_getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getpeername'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20203,7 +20203,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- long double __interceptor_modfl(long double, long double*) -->
-    <function-decl name='__interceptor_modfl' mangled-name='modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modfl'>
+    <function-decl name='__interceptor_modfl' mangled-name='__interceptor_modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modfl'>
       <!-- parameter of type 'long double' -->
       <parameter type-id='type-id-327' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1'/>
       <!-- parameter of type 'long double*' -->
@@ -20212,7 +20212,7 @@
       <return type-id='type-id-327'/>
     </function-decl>
     <!-- float __interceptor_modff(float, float*) -->
-    <function-decl name='__interceptor_modff' mangled-name='modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modff'>
+    <function-decl name='__interceptor_modff' mangled-name='__interceptor_modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modff'>
       <!-- parameter of type 'float' -->
       <parameter type-id='type-id-323' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1'/>
       <!-- parameter of type 'float*' -->
@@ -20288,7 +20288,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_gethostbyname_r(char*, __sanitizer::__sanitizer_hostent*, char*, SIZE_T, __sanitizer::__sanitizer_hostent**, int*) -->
-    <function-decl name='__interceptor_gethostbyname_r' mangled-name='gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname_r'>
+    <function-decl name='__interceptor_gethostbyname_r' mangled-name='__interceptor_gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname_r'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_hostent*' -->
@@ -20305,7 +20305,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_gethostbyaddr_r(void*, int, int, __sanitizer::__sanitizer_hostent*, char*, SIZE_T, __sanitizer::__sanitizer_hostent**, int*) -->
-    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyaddr_r'>
+    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='__interceptor_gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyaddr_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
       <!-- parameter of type 'int' -->
@@ -20368,7 +20368,7 @@
       <return type-id='type-id-928'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_hostent* __interceptor_gethostbyname(char*) -->
-    <function-decl name='__interceptor_gethostbyname' mangled-name='gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname'>
+    <function-decl name='__interceptor_gethostbyname' mangled-name='__interceptor_gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
       <!-- __sanitizer::__sanitizer_hostent* -->
@@ -20397,7 +20397,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_inet_aton(const char*, void*) -->
-    <function-decl name='__interceptor_inet_aton' mangled-name='inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_aton'>
+    <function-decl name='__interceptor_inet_aton' mangled-name='__interceptor_inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inet_aton'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20430,7 +20430,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_wait4(int, int*, int, void*) -->
-    <function-decl name='__interceptor_wait4' mangled-name='wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait4'>
+    <function-decl name='__interceptor_wait4' mangled-name='__interceptor_wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait4'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <!-- parameter of type 'int*' -->
@@ -20443,7 +20443,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_wait3(int*, int, void*) -->
-    <function-decl name='__interceptor_wait3' mangled-name='wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait3'>
+    <function-decl name='__interceptor_wait3' mangled-name='__interceptor_wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait3'>
       <!-- parameter of type 'int*' -->
       <parameter type-id='type-id-30' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
       <!-- parameter of type 'int' -->
@@ -20465,7 +20465,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_waitid(int, int, void*, int) -->
-    <function-decl name='__interceptor_waitid' mangled-name='waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='waitid'>
+    <function-decl name='__interceptor_waitid' mangled-name='__interceptor_waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_waitid'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
       <!-- parameter of type 'int' -->
@@ -20496,7 +20496,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_getitimer(int, void*) -->
-    <function-decl name='__interceptor_getitimer' mangled-name='getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getitimer'>
+    <function-decl name='__interceptor_getitimer' mangled-name='__interceptor_getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getitimer'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20505,7 +20505,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_clock_settime(__sanitizer::u32, void*) -->
-    <function-decl name='__interceptor_clock_settime' mangled-name='clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_settime'>
+    <function-decl name='__interceptor_clock_settime' mangled-name='__interceptor_clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_settime'>
       <!-- parameter of type 'typedef __sanitizer::u32' -->
       <parameter type-id='type-id-170' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20514,7 +20514,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_clock_gettime(__sanitizer::u32, void*) -->
-    <function-decl name='__interceptor_clock_gettime' mangled-name='clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_gettime'>
+    <function-decl name='__interceptor_clock_gettime' mangled-name='__interceptor_clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_gettime'>
       <!-- parameter of type 'typedef __sanitizer::u32' -->
       <parameter type-id='type-id-170' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20532,7 +20532,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_ioctl(int, unsigned int, void*) -->
-    <function-decl name='__interceptor_ioctl' mangled-name='ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ioctl'>
+    <function-decl name='__interceptor_ioctl' mangled-name='__interceptor_ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ioctl'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <!-- parameter of type 'unsigned int' -->
@@ -20543,7 +20543,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___isoc99_vfscanf(void*, const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vfscanf'>
+    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__interceptor___isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vfscanf'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20554,7 +20554,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___isoc99_fscanf(void*, const char*, ...) -->
-    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_fscanf'>
+    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__interceptor___isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_fscanf'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20564,7 +20564,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___isoc99_vsscanf(const char*, const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vsscanf'>
+    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__interceptor___isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vsscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20575,7 +20575,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___isoc99_sscanf(const char*, const char*, ...) -->
-    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_sscanf'>
+    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__interceptor___isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_sscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20585,7 +20585,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___isoc99_vscanf(const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vscanf'>
+    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__interceptor___isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
@@ -20594,7 +20594,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___isoc99_scanf(const char*, ...) -->
-    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_scanf'>
+    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__interceptor___isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_scanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
@@ -20602,7 +20602,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_vfscanf(void*, const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor_vfscanf' mangled-name='vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfscanf'>
+    <function-decl name='__interceptor_vfscanf' mangled-name='__interceptor_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vfscanf'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20634,7 +20634,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sscanf(const char*, const char*, ...) -->
-    <function-decl name='__interceptor_sscanf' mangled-name='sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
+    <function-decl name='__interceptor_sscanf' mangled-name='__interceptor_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20644,7 +20644,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_vscanf(const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor_vscanf' mangled-name='vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vscanf'>
+    <function-decl name='__interceptor_vscanf' mangled-name='__interceptor_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
@@ -20653,7 +20653,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_scanf(const char*, ...) -->
-    <function-decl name='__interceptor_scanf' mangled-name='scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scanf'>
+    <function-decl name='__interceptor_scanf' mangled-name='__interceptor_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_scanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
@@ -20672,7 +20672,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_asctime_r(__sanitizer::__sanitizer_tm*, char*) -->
-    <function-decl name='__interceptor_asctime_r' mangled-name='asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='asctime_r'>
+    <function-decl name='__interceptor_asctime_r' mangled-name='__interceptor_asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_asctime_r'>
       <!-- parameter of type '__sanitizer::__sanitizer_tm*' -->
       <parameter type-id='type-id-953' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -20688,7 +20688,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_ctime_r(unsigned long int*, char*) -->
-    <function-decl name='__interceptor_ctime_r' mangled-name='ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime_r'>
+    <function-decl name='__interceptor_ctime_r' mangled-name='__interceptor_ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime_r'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -20697,7 +20697,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_ctime(unsigned long int*) -->
-    <function-decl name='__interceptor_ctime' mangled-name='ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime'>
+    <function-decl name='__interceptor_ctime' mangled-name='__interceptor_ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1'/>
       <!-- char* -->
@@ -20713,14 +20713,14 @@
       <return type-id='type-id-953'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_tm* __interceptor_gmtime(unsigned long int*) -->
-    <function-decl name='__interceptor_gmtime' mangled-name='gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gmtime'>
+    <function-decl name='__interceptor_gmtime' mangled-name='__interceptor_gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gmtime'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1'/>
       <!-- __sanitizer::__sanitizer_tm* -->
       <return type-id='type-id-953'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_tm* __interceptor_localtime_r(unsigned long int*, void*) -->
-    <function-decl name='__interceptor_localtime_r' mangled-name='localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='localtime_r'>
+    <function-decl name='__interceptor_localtime_r' mangled-name='__interceptor_localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_localtime_r'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20736,14 +20736,14 @@
       <return type-id='type-id-953'/>
     </function-decl>
     <!-- unsigned long int __interceptor_time(unsigned long int*) -->
-    <function-decl name='__interceptor_time' mangled-name='time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='time'>
+    <function-decl name='__interceptor_time' mangled-name='__interceptor_time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_time'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-105' name='t' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1'/>
       <!-- unsigned long int -->
       <return type-id='type-id-102'/>
     </function-decl>
     <!-- int __interceptor_prctl(int, unsigned long int, unsigned long int, unsigned long int, unsigned long int) -->
-    <function-decl name='__interceptor_prctl' mangled-name='prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prctl'>
+    <function-decl name='__interceptor_prctl' mangled-name='__interceptor_prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_prctl'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
@@ -20758,7 +20758,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwritev64(int, __sanitizer::__sanitizer_iovec*, int, OFF64_T) -->
-    <function-decl name='__interceptor_pwritev64' mangled-name='pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev64'>
+    <function-decl name='__interceptor_pwritev64' mangled-name='__interceptor_pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -20771,7 +20771,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwritev(int, __sanitizer::__sanitizer_iovec*, int, OFF_T) -->
-    <function-decl name='__interceptor_pwritev' mangled-name='pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev'>
+    <function-decl name='__interceptor_pwritev' mangled-name='__interceptor_pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -20795,7 +20795,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwrite64(int, void*, OFF64_T, OFF64_T) -->
-    <function-decl name='__interceptor_pwrite64' mangled-name='pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite64'>
+    <function-decl name='__interceptor_pwrite64' mangled-name='__interceptor_pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20808,7 +20808,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwrite(int, void*, SIZE_T, OFF_T) -->
-    <function-decl name='__interceptor_pwrite' mangled-name='pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite'>
+    <function-decl name='__interceptor_pwrite' mangled-name='__interceptor_pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20821,7 +20821,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_write(int, void*, SIZE_T) -->
-    <function-decl name='__interceptor_write' mangled-name='write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='write'>
+    <function-decl name='__interceptor_write' mangled-name='__interceptor_write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_write'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20832,7 +20832,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_preadv64(int, __sanitizer::__sanitizer_iovec*, int, OFF64_T) -->
-    <function-decl name='__interceptor_preadv64' mangled-name='preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv64'>
+    <function-decl name='__interceptor_preadv64' mangled-name='__interceptor_preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -20845,7 +20845,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_preadv(int, __sanitizer::__sanitizer_iovec*, int, OFF_T) -->
-    <function-decl name='__interceptor_preadv' mangled-name='preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv'>
+    <function-decl name='__interceptor_preadv' mangled-name='__interceptor_preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -20858,7 +20858,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_readv(int, __sanitizer::__sanitizer_iovec*, int) -->
-    <function-decl name='__interceptor_readv' mangled-name='readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readv'>
+    <function-decl name='__interceptor_readv' mangled-name='__interceptor_readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readv'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -20895,7 +20895,7 @@
       <return type-id='type-id-369'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_read(int, void*, SIZE_T) -->
-    <function-decl name='__interceptor_read' mangled-name='read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='read'>
+    <function-decl name='__interceptor_read' mangled-name='__interceptor_read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_read'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20915,7 +20915,7 @@
       <return type-id='type-id-327'/>
     </function-decl>
     <!-- float __interceptor_frexpf(float, int*) -->
-    <function-decl name='__interceptor_frexpf' mangled-name='frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='frexpf'>
+    <function-decl name='__interceptor_frexpf' mangled-name='__interceptor_frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_frexpf'>
       <!-- parameter of type 'float' -->
       <parameter type-id='type-id-323' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <!-- parameter of type 'int*' -->
@@ -20933,7 +20933,7 @@
       <return type-id='type-id-322'/>
     </function-decl>
     <!-- int __interceptor_strncasecmp(const char*, const char*, SIZE_T) -->
-    <function-decl name='__interceptor_strncasecmp' mangled-name='strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncasecmp'>
+    <function-decl name='__interceptor_strncasecmp' mangled-name='__interceptor_strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncasecmp'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='s1' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -20973,7 +20973,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- char* __interceptor_textdomain(const char*) -->
-    <function-decl name='__interceptor_textdomain' mangled-name='textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='textdomain'>
+    <function-decl name='__interceptor_textdomain' mangled-name='__interceptor_textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_textdomain'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2'/>
       <!-- char* -->
@@ -21000,7 +21000,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_gettimeofday(void*, void*) -->
-    <function-decl name='__interceptor_gettimeofday' mangled-name='gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gettimeofday'>
+    <function-decl name='__interceptor_gettimeofday' mangled-name='__interceptor_gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gettimeofday'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21009,7 +21009,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_kill(void*, int) -->
-    <function-decl name='__interceptor_pthread_kill' mangled-name='pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_kill'>
+    <function-decl name='__interceptor_pthread_kill' mangled-name='__interceptor_pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_kill'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21041,7 +21041,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sigaction(int, sigaction_t*, sigaction_t*) -->
-    <function-decl name='__interceptor_sigaction' mangled-name='sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigaction'>
+    <function-decl name='__interceptor_sigaction' mangled-name='__interceptor_sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigaction'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
       <!-- parameter of type 'sigaction_t*' -->
@@ -21061,7 +21061,7 @@
       <return type-id='type-id-384'/>
     </function-decl>
     <!-- int __interceptor_epoll_wait(int, void*, int, int) -->
-    <function-decl name='__interceptor_epoll_wait' mangled-name='epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_wait'>
+    <function-decl name='__interceptor_epoll_wait' mangled-name='__interceptor_epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_wait'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21074,7 +21074,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_epoll_ctl(int, int, int, void*) -->
-    <function-decl name='__interceptor_epoll_ctl' mangled-name='epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_ctl'>
+    <function-decl name='__interceptor_epoll_ctl' mangled-name='__interceptor_epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_ctl'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21094,7 +21094,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- int __interceptor_rmdir(char*) -->
-    <function-decl name='__interceptor_rmdir' mangled-name='rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdir'>
+    <function-decl name='__interceptor_rmdir' mangled-name='__interceptor_rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_rmdir'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <!-- int -->
@@ -21108,7 +21108,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- void __interceptor_abort(int) -->
-    <function-decl name='__interceptor_abort' mangled-name='abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='abort'>
+    <function-decl name='__interceptor_abort' mangled-name='__interceptor_abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_abort'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- void -->
@@ -21122,7 +21122,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- __sanitizer::uptr __interceptor_fwrite(void*, __sanitizer::uptr, __sanitizer::uptr, void*) -->
-    <function-decl name='__interceptor_fwrite' mangled-name='fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwrite'>
+    <function-decl name='__interceptor_fwrite' mangled-name='__interceptor_fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fwrite'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -21175,14 +21175,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- int __interceptor_unlink(char*) -->
-    <function-decl name='__interceptor_unlink' mangled-name='unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unlink'>
+    <function-decl name='__interceptor_unlink' mangled-name='__interceptor_unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_unlink'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <!-- int -->
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- long_t __interceptor_recv(int, void*, long_t, int) -->
-    <function-decl name='__interceptor_recv' mangled-name='recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='recv'>
+    <function-decl name='__interceptor_recv' mangled-name='__interceptor_recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_recv'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21206,7 +21206,7 @@
       <return type-id='type-id-387'/>
     </function-decl>
     <!-- long_t __interceptor_send(int, void*, long_t, int) -->
-    <function-decl name='__interceptor_send' mangled-name='send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send'>
+    <function-decl name='__interceptor_send' mangled-name='__interceptor_send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_send'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21251,14 +21251,14 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_close(int) -->
-    <function-decl name='__interceptor_close' mangled-name='close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='close'>
+    <function-decl name='__interceptor_close' mangled-name='__interceptor_close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_close'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- int -->
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_epoll_create1(int) -->
-    <function-decl name='__interceptor_epoll_create1' mangled-name='epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_create1'>
+    <function-decl name='__interceptor_epoll_create1' mangled-name='__interceptor_epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_create1'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- int -->
@@ -21281,7 +21281,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_bind(int, void*, unsigned int) -->
-    <function-decl name='__interceptor_bind' mangled-name='bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bind'>
+    <function-decl name='__interceptor_bind' mangled-name='__interceptor_bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_bind'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21292,7 +21292,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_connect(int, void*, unsigned int) -->
-    <function-decl name='__interceptor_connect' mangled-name='connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='connect'>
+    <function-decl name='__interceptor_connect' mangled-name='__interceptor_connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_connect'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21327,7 +21327,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_inotify_init1(int) -->
-    <function-decl name='__interceptor_inotify_init1' mangled-name='inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inotify_init1'>
+    <function-decl name='__interceptor_inotify_init1' mangled-name='__interceptor_inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inotify_init1'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- int -->
@@ -21341,7 +21341,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_signalfd(int, void*, int) -->
-    <function-decl name='__interceptor_signalfd' mangled-name='signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='signalfd'>
+    <function-decl name='__interceptor_signalfd' mangled-name='__interceptor_signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_signalfd'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21352,7 +21352,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_eventfd(unsigned int, int) -->
-    <function-decl name='__interceptor_eventfd' mangled-name='eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eventfd'>
+    <function-decl name='__interceptor_eventfd' mangled-name='__interceptor_eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_eventfd'>
       <!-- parameter of type 'unsigned int' -->
       <parameter type-id='type-id-129' name='initval' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21372,7 +21372,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_dup2(int, int) -->
-    <function-decl name='__interceptor_dup2' mangled-name='dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup2'>
+    <function-decl name='__interceptor_dup2' mangled-name='__interceptor_dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup2'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- parameter of type 'int' -->
@@ -21381,7 +21381,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_dup(int) -->
-    <function-decl name='__interceptor_dup' mangled-name='dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup'>
+    <function-decl name='__interceptor_dup' mangled-name='__interceptor_dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5'/>
       <!-- int -->
@@ -21417,7 +21417,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_open(const char*, int, int) -->
-    <function-decl name='__interceptor_open' mangled-name='open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='open'>
+    <function-decl name='__interceptor_open' mangled-name='__interceptor_open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_open'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21468,7 +21468,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_lstat64(const char*, void*) -->
-    <function-decl name='__interceptor_lstat64' mangled-name='lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lstat64'>
+    <function-decl name='__interceptor_lstat64' mangled-name='__interceptor_lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lstat64'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21477,7 +21477,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___lxstat64(int, const char*, void*) -->
-    <function-decl name='__interceptor___lxstat64' mangled-name='__lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat64'>
+    <function-decl name='__interceptor___lxstat64' mangled-name='__interceptor___lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21497,7 +21497,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___lxstat(int, const char*, void*) -->
-    <function-decl name='__interceptor___lxstat' mangled-name='__lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat'>
+    <function-decl name='__interceptor___lxstat' mangled-name='__interceptor___lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21517,7 +21517,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor___xstat64(int, const char*, void*) -->
-    <function-decl name='__interceptor___xstat64' mangled-name='__xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xstat64'>
+    <function-decl name='__interceptor___xstat64' mangled-name='__interceptor___xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xstat64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-5' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21528,7 +21528,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_stat(const char*, void*) -->
-    <function-decl name='__interceptor_stat' mangled-name='stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='stat'>
+    <function-decl name='__interceptor_stat' mangled-name='__interceptor_stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_stat'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21564,7 +21564,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sem_timedwait(void*, void*) -->
-    <function-decl name='__interceptor_sem_timedwait' mangled-name='sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_timedwait'>
+    <function-decl name='__interceptor_sem_timedwait' mangled-name='__interceptor_sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_timedwait'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21587,14 +21587,14 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sem_destroy(void*) -->
-    <function-decl name='__interceptor_sem_destroy' mangled-name='sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_destroy'>
+    <function-decl name='__interceptor_sem_destroy' mangled-name='__interceptor_sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_destroy'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_sem_init(void*, int, unsigned int) -->
-    <function-decl name='__interceptor_sem_init' mangled-name='sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_init'>
+    <function-decl name='__interceptor_sem_init' mangled-name='__interceptor_sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21605,7 +21605,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_once(void*, void ()*) -->
-    <function-decl name='__interceptor_pthread_once' mangled-name='pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_once'>
+    <function-decl name='__interceptor_pthread_once' mangled-name='__interceptor_pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_once'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='o' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
       <!-- parameter of type 'void ()*' -->
@@ -21628,7 +21628,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_barrier_init(void*, void*, unsigned int) -->
-    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_barrier_init'>
+    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='__interceptor_pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_barrier_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='b' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21673,7 +21673,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_rwlock_trywrlock(void*) -->
-    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_trywrlock'>
+    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='__interceptor_pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_trywrlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -21687,7 +21687,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_rwlock_timedrdlock(void*, void*) -->
-    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_timedrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='__interceptor_pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_timedrdlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21696,7 +21696,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_rwlock_tryrdlock(void*) -->
-    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_tryrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='__interceptor_pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_tryrdlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -21740,7 +21740,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_spin_lock(void*) -->
-    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_lock'>
+    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='__interceptor_pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_lock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -21754,7 +21754,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_spin_init(void*, int) -->
-    <function-decl name='__interceptor_pthread_spin_init' mangled-name='pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_init'>
+    <function-decl name='__interceptor_pthread_spin_init' mangled-name='__interceptor_pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21772,7 +21772,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_mutex_trylock(void*) -->
-    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_trylock'>
+    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='__interceptor_pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_trylock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -21786,7 +21786,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- int __interceptor_pthread_mutex_init(void*, void*) -->
-    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_init'>
+    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='__interceptor_pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21905,7 +21905,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* __interceptor_mmap(void*, long_t, int, int, int, unsigned int) -->
-    <function-decl name='__interceptor_mmap' mangled-name='mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mmap'>
+    <function-decl name='__interceptor_mmap' mangled-name='__interceptor_mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mmap'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
       <!-- parameter of type 'typedef long_t' -->
@@ -21938,7 +21938,7 @@
       <return type-id='type-id-2'/>
     </function-decl>
     <!-- char* __interceptor_strncpy(char*, char*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_strncpy' mangled-name='strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
+    <function-decl name='__interceptor_strncpy' mangled-name='__interceptor_strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncpy'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -21958,7 +21958,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_strrchr(char*, int) -->
-    <function-decl name='__interceptor_strrchr' mangled-name='strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strrchr'>
+    <function-decl name='__interceptor_strrchr' mangled-name='__interceptor_strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strrchr'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-25' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21985,7 +21985,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* __interceptor_memmove(void*, void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_memmove' mangled-name='memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memmove'>
+    <function-decl name='__interceptor_memmove' mangled-name='__interceptor_memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memmove'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- parameter of type 'void*' -->
@@ -22029,7 +22029,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- void* __interceptor_memcpy(void*, void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_memcpy' mangled-name='memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcpy'>
+    <function-decl name='__interceptor_memcpy' mangled-name='__interceptor_memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memcpy'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- parameter of type 'void*' -->
@@ -22122,14 +22122,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- __sanitizer::uptr __interceptor_malloc_usable_size(void*) -->
-    <function-decl name='__interceptor_malloc_usable_size' mangled-name='malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='__interceptor_malloc_usable_size' mangled-name='__interceptor_malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc_usable_size'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1'/>
       <!-- typedef __sanitizer::uptr -->
       <return type-id='type-id-83'/>
     </function-decl>
     <!-- void __interceptor_cfree(void*) -->
-    <function-decl name='__interceptor_cfree' mangled-name='cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='__interceptor_cfree' mangled-name='__interceptor_cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_cfree'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- void -->
@@ -22143,7 +22143,7 @@
       <return type-id='type-id-26'/>
     </function-decl>
     <!-- void* __interceptor_realloc(void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_realloc' mangled-name='realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realloc'>
+    <function-decl name='__interceptor_realloc' mangled-name='__interceptor_realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realloc'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -22152,7 +22152,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* __interceptor_calloc(__sanitizer::uptr, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_calloc' mangled-name='calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='calloc'>
+    <function-decl name='__interceptor_calloc' mangled-name='__interceptor_calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_calloc'>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
       <parameter type-id='type-id-83'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -22170,14 +22170,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* __interceptor_malloc(__sanitizer::uptr) -->
-    <function-decl name='__interceptor_malloc' mangled-name='malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='__interceptor_malloc' mangled-name='__interceptor_malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc'>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
       <parameter type-id='type-id-83' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='780' column='1'/>
       <!-- void* -->
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- char* __interceptor_realpath(const char*, char*) -->
-    <function-decl name='__interceptor_realpath' mangled-name='realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realpath'>
+    <function-decl name='__interceptor_realpath' mangled-name='__interceptor_realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realpath'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -22195,7 +22195,7 @@
       <return type-id='type-id-26'/>
     </function-decl>
     <!-- void __interceptor_longjmp(__sanitizer::uptr*, int) -->
-    <function-decl name='__interceptor_longjmp' mangled-name='longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='longjmp'>
+    <function-decl name='__interceptor_longjmp' mangled-name='__interceptor_longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_longjmp'>
       <!-- parameter of type '__sanitizer::uptr*' -->
       <parameter type-id='type-id-111' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22204,7 +22204,7 @@
       <return type-id='type-id-26'/>
     </function-decl>
     <!-- int __interceptor___cxa_atexit(void (void*)*, void*, void*) -->
-    <function-decl name='__interceptor___cxa_atexit' mangled-name='__cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cxa_atexit'>
+    <function-decl name='__interceptor___cxa_atexit' mangled-name='__interceptor___cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___cxa_atexit'>
       <!-- parameter of type 'void (void*)*' -->
       <parameter type-id='type-id-419' name='f' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22247,7 +22247,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- int __interceptor_nanosleep(void*, void*) -->
-    <function-decl name='__interceptor_nanosleep' mangled-name='nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nanosleep'>
+    <function-decl name='__interceptor_nanosleep' mangled-name='__interceptor_nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_nanosleep'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22263,7 +22263,7 @@
       <return type-id='type-id-5'/>
     </function-decl>
     <!-- unsigned int __interceptor_sleep(unsigned int) -->
-    <function-decl name='__interceptor_sleep' mangled-name='sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sleep'>
+    <function-decl name='__interceptor_sleep' mangled-name='__interceptor_sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sleep'>
       <!-- parameter of type 'unsigned int' -->
       <parameter type-id='type-id-129' name='sec' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1'/>
       <!-- unsigned int -->
@@ -26271,7 +26271,7 @@
       <return type-id='type-id-173'/>
     </function-decl>
     <!-- void __tsan_unaligned_write2(uu16*, __sanitizer::u16) -->
-    <function-decl name='__tsan_unaligned_write2' mangled-name='__sanitizer_unaligned_store16' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store16'>
+    <function-decl name='__tsan_unaligned_write2' mangled-name='__tsan_unaligned_write2' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write2'>
       <!-- parameter of type 'uu16*' -->
       <parameter type-id='type-id-1220' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::u16' -->
@@ -26289,7 +26289,7 @@
       <return type-id='type-id-26'/>
     </function-decl>
     <!-- void __tsan_unaligned_write8(uu64*, __sanitizer::u64) -->
-    <function-decl name='__tsan_unaligned_write8' mangled-name='__sanitizer_unaligned_store64' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store64'>
+    <function-decl name='__tsan_unaligned_write8' mangled-name='__tsan_unaligned_write8' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write8'>
       <!-- parameter of type 'uu64*' -->
       <parameter type-id='type-id-1222' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::u64' -->
diff --git a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
index 5b1f71346175..c2c233760f4e 100644
--- a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
+++ b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
@@ -1098,15 +1098,15 @@
     <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) -->
     <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete[](void*) -->
-    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray' is-defined='yes'/>
+    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete[](void*, std::nothrow_t const&) -->
-    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray_nothrow' is-defined='yes'/>
+    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete(void*) -->
-    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_delete' is-defined='yes'/>
+    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete(void*, std::nothrow_t const&) -->
     <elf-symbol name='_ZdlPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator new[](unsigned long) -->
-    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_newarray' is-defined='yes'/>
+    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator new[](unsigned long, std::nothrow_t const&) -->
     <elf-symbol name='_ZnamRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator new(unsigned long) -->
@@ -1124,11 +1124,11 @@
     <!-- __libc_memalign -->
     <elf-symbol name='__libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_pvalloc -->
-    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_pvalloc,pvalloc' is-defined='yes'/>
+    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_realloc -->
     <elf-symbol name='__libc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_valloc -->
-    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc,tc_valloc' is-defined='yes'/>
+    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __posix_memalign -->
     <elf-symbol name='__posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _fini -->
@@ -1138,19 +1138,19 @@
     <!-- calloc -->
     <elf-symbol name='calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cfree -->
-    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_cfree,__libc_cfree' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- free -->
     <elf-symbol name='free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mallinfo -->
     <elf-symbol name='mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc -->
-    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_malloc,__libc_malloc' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_size -->
     <elf-symbol name='malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_stats -->
     <elf-symbol name='malloc_stats' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_usable_size -->
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_size,tc_malloc_size' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mallopt -->
     <elf-symbol name='mallopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memalign -->
@@ -1164,7 +1164,7 @@
     <!-- munmap -->
     <elf-symbol name='munmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- posix_memalign -->
-    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_posix_memalign,__posix_memalign' is-defined='yes'/>
+    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pvalloc -->
     <elf-symbol name='pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- realloc -->
@@ -1174,23 +1174,23 @@
     <!-- tc_calloc -->
     <elf-symbol name='tc_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc,__libc_calloc' is-defined='yes'/>
     <!-- tc_cfree -->
-    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_cfree,cfree' is-defined='yes'/>
     <!-- tc_delete -->
-    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPv' is-defined='yes'/>
     <!-- tc_delete_nothrow -->
     <elf-symbol name='tc_delete_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPvRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_deletearray -->
-    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPv' is-defined='yes'/>
     <!-- tc_deletearray_nothrow -->
-    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPvRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_free -->
     <elf-symbol name='tc_free' type='func-type' binding='global-binding' visibility='default-visibility' alias='free,__libc_free' is-defined='yes'/>
     <!-- tc_mallinfo -->
     <elf-symbol name='tc_mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='mallinfo' is-defined='yes'/>
     <!-- tc_malloc -->
-    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_malloc,malloc' is-defined='yes'/>
     <!-- tc_malloc_size -->
-    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size,malloc_size' is-defined='yes'/>
     <!-- tc_malloc_skip_new_handler -->
     <elf-symbol name='tc_malloc_skip_new_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tc_malloc_stats -->
@@ -1204,19 +1204,19 @@
     <!-- tc_new_nothrow -->
     <elf-symbol name='tc_new_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnwmRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_newarray -->
-    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_Znam' is-defined='yes'/>
     <!-- tc_newarray_nothrow -->
     <elf-symbol name='tc_newarray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnamRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_posix_memalign -->
-    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__posix_memalign,posix_memalign' is-defined='yes'/>
     <!-- tc_pvalloc -->
-    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc,__libc_pvalloc' is-defined='yes'/>
     <!-- tc_realloc -->
     <elf-symbol name='tc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_realloc,realloc' is-defined='yes'/>
     <!-- tc_set_new_mode -->
     <elf-symbol name='tc_set_new_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tc_valloc -->
-    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_valloc,valloc' is-defined='yes'/>
     <!-- tc_version -->
     <elf-symbol name='tc_version' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- valloc -->
@@ -41638,7 +41638,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- size_t tc_malloc_size(void*) -->
-    <function-decl name='tc_malloc_size' mangled-name='malloc_usable_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='tc_malloc_size' mangled-name='tc_malloc_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc_size'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-53' name='ptr' filepath='src/tcmalloc.cc' line='1730' column='1'/>
       <!-- typedef size_t -->
@@ -41655,7 +41655,7 @@
       <return type-id='type-id-1338'/>
     </function-decl>
     <!-- int tc_posix_memalign(void**, size_t, size_t) -->
-    <function-decl name='tc_posix_memalign' mangled-name='posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='posix_memalign'>
+    <function-decl name='tc_posix_memalign' mangled-name='tc_posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_posix_memalign'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-120' name='result_ptr' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <!-- parameter of type 'typedef size_t' -->
@@ -41666,14 +41666,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* tc_pvalloc(size_t) -->
-    <function-decl name='tc_pvalloc' mangled-name='__libc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_pvalloc'>
+    <function-decl name='tc_pvalloc' mangled-name='tc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_pvalloc'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-57'/>
       <!-- void* -->
       <return type-id='type-id-53'/>
     </function-decl>
     <!-- void* tc_valloc(size_t) -->
-    <function-decl name='tc_valloc' mangled-name='__libc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_valloc'>
+    <function-decl name='tc_valloc' mangled-name='tc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_valloc'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-57'/>
       <!-- void* -->
@@ -41698,7 +41698,7 @@
       <return type-id='type-id-53'/>
     </function-decl>
     <!-- void* tc_newarray(size_t) -->
-    <function-decl name='tc_newarray' mangled-name='_Znam' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Znam'>
+    <function-decl name='tc_newarray' mangled-name='tc_newarray' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_newarray'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-57'/>
       <!-- void* -->
@@ -41721,7 +41721,7 @@
       <return type-id='type-id-53'/>
     </function-decl>
     <!-- void* tc_malloc(size_t) -->
-    <function-decl name='tc_malloc' mangled-name='malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='tc_malloc' mangled-name='tc_malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-57'/>
       <!-- void* -->
@@ -41751,14 +41751,14 @@
       <return type-id='type-id-53'/>
     </function-decl>
     <!-- void tc_cfree(void*) -->
-    <function-decl name='tc_cfree' mangled-name='cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='tc_cfree' mangled-name='tc_cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_cfree'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-53'/>
       <!-- void -->
       <return type-id='type-id-56'/>
     </function-decl>
     <!-- void tc_delete(void*) -->
-    <function-decl name='tc_delete' mangled-name='_ZdlPv' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdlPv'>
+    <function-decl name='tc_delete' mangled-name='tc_delete' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_delete'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-53'/>
       <!-- void -->
@@ -41774,14 +41774,14 @@
       <return type-id='type-id-56'/>
     </function-decl>
     <!-- void tc_deletearray(void*) -->
-    <function-decl name='tc_deletearray' mangled-name='_ZdaPv' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPv'>
+    <function-decl name='tc_deletearray' mangled-name='tc_deletearray' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-53'/>
       <!-- void -->
       <return type-id='type-id-56'/>
     </function-decl>
     <!-- void tc_deletearray_nothrow(void*, const std::nothrow_t&) -->
-    <function-decl name='tc_deletearray_nothrow' mangled-name='_ZdaPvRKSt9nothrow_t' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPvRKSt9nothrow_t'>
+    <function-decl name='tc_deletearray_nothrow' mangled-name='tc_deletearray_nothrow' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray_nothrow'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-53' name='p' filepath='src/tcmalloc.cc' line='1636' column='1'/>
       <!-- parameter of type 'const std::nothrow_t&' -->
diff --git a/tests/data/test-annotate/test2.so.abi b/tests/data/test-annotate/test2.so.abi
index cc40ccd0e3c5..072834a187b5 100644
--- a/tests/data/test-annotate/test2.so.abi
+++ b/tests/data/test-annotate/test2.so.abi
@@ -7,13 +7,13 @@
   </elf-needed>
   <elf-function-symbols>
     <!-- first_type::first_type() -->
-    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- first_type::first_type() -->
-    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC1Ev' is-defined='yes'/>
     <!-- second_type::second_type() -->
-    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- second_type::second_type() -->
-    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC1Ev' is-defined='yes'/>
     <!-- a::build_first_type() -->
     <elf-symbol name='_ZN1a16build_first_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- a::build_second_type() -->
@@ -55,7 +55,7 @@
       </member-function>
       <member-function access='public' constructor='yes'>
         <!-- first_type::first_type() -->
-        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC1Ev'>
+        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC2Ev'>
           <!-- implicit parameter of type 'first_type*' -->
           <parameter type-id='type-id-7' is-artificial='yes'/>
           <!-- void -->
@@ -96,7 +96,7 @@
       </member-function>
       <member-function access='public' constructor='yes'>
         <!-- second_type::second_type() -->
-        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC1Ev'>
+        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC2Ev'>
           <!-- implicit parameter of type 'second_type*' -->
           <parameter type-id='type-id-9' is-artificial='yes'/>
           <!-- void -->
diff --git a/tests/data/test-annotate/test3.so.abi b/tests/data/test-annotate/test3.so.abi
index cbcb456d97c8..ca3790742779 100644
--- a/tests/data/test-annotate/test3.so.abi
+++ b/tests/data/test-annotate/test3.so.abi
@@ -4,7 +4,7 @@
   </elf-needed>
   <elf-function-symbols>
     <!-- __foo -->
-    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
     <!-- __foo__ -->
     <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _fini -->
@@ -12,7 +12,7 @@
     <!-- _init -->
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- foo -->
-    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='foo__,__foo__,__foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- foo__ -->
     <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
@@ -20,7 +20,7 @@
     <!-- void -->
     <type-decl name='void' id='type-id-1'/>
     <!-- void __foo() -->
-    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
       <!-- void -->
       <return type-id='type-id-1'/>
     </function-decl>
diff --git a/tests/data/test-diff-dwarf/test12-report.txt b/tests/data/test-diff-dwarf/test12-report.txt
index e69de29bb2d1..62dd8337d694 100644
--- a/tests/data/test-diff-dwarf/test12-report.txt
+++ b/tests/data/test-diff-dwarf/test12-report.txt
@@ -0,0 +1,7 @@
+Functions changes summary: 0 Removed, 0 Changed, 1 Added function
+Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
+
+1 Added function:
+
+  [A] 'function int _foo3(int, int)'
+
diff --git a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
index 087cfd4edb89..47250ac7d02a 100644
--- a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
+++ b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
@@ -9,9 +9,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
   [C] 'method STR::~STR(int)' has some indirect sub-type changes:
     linkage names of method STR::~STR(int)
-    changed from '_ZN3STRD1Ev, _ZN3STRD2Ev' to '_ZN3STRD2Ev'
-
-    name of symbol changed from _ZN3STRD1Ev to _ZN3STRD2Ev
+    changed from '_ZN3STRD2Ev, _ZN3STRD1Ev' to '_ZN3STRD2Ev'
     parameter 1 of type 'int' was removed
 
   [C] 'function std::tuple<STR&&> my_forward_as_tuple<STR>(STR&&)' has some indirect sub-type changes:
diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
index 62785044d808..00e19379b88e 100644
--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
@@ -266,20 +266,18 @@
 ================ end of changes of 'libtbbmalloc.so.2'===============
 
 ================ changes of 'libtbbmalloc_proxy.so.2'===============
-  Functions changes summary: 1 Removed, 0 Changed, 5 Added functions
+  Functions changes summary: 1 Removed, 0 Changed, 3 Added functions
   Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
   1 Removed function:
 
     [D] 'function bool __TBB_internal_find_original_malloc(int, const char**, void**)'    {__TBB_internal_find_original_malloc}
 
-  5 Added functions:
+  3 Added functions:
 
     [A] 'function void __libc_free(void*)'    {__libc_free}
     [A] 'function void* __libc_realloc(void*, size_t)'    {__libc_realloc}
-    [A] 'function void* calloc(size_t, size_t)'    {__libc_calloc, aliases calloc}
     [A] 'function size_t malloc_usable_size(void*)'    {malloc_usable_size}
-    [A] 'function void* valloc(size_t)'    {__libc_valloc, aliases valloc}
 
 ================ end of changes of 'libtbbmalloc_proxy.so.2'===============
 
diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
index bef715b6feca..b201cb46d6b1 100644
--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
@@ -140,20 +140,18 @@
 ================ end of changes of 'libtbbmalloc.so.2'===============
 
 ================ changes of 'libtbbmalloc_proxy.so.2'===============
-  Functions changes summary: 1 Removed, 0 Changed, 5 Added functions
+  Functions changes summary: 1 Removed, 0 Changed, 3 Added functions
   Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
   1 Removed function:
 
     [D] 'function bool __TBB_internal_find_original_malloc(int, const char**, void**)'    {__TBB_internal_find_original_malloc}
 
-  5 Added functions:
+  3 Added functions:
 
     [A] 'function void __libc_free(void*)'    {__libc_free}
     [A] 'function void* __libc_realloc(void*, size_t)'    {__libc_realloc}
-    [A] 'function void* calloc(size_t, size_t)'    {__libc_calloc, aliases calloc}
     [A] 'function size_t malloc_usable_size(void*)'    {malloc_usable_size}
-    [A] 'function void* valloc(size_t)'    {__libc_valloc, aliases valloc}
 
 ================ end of changes of 'libtbbmalloc_proxy.so.2'===============
 
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-4.suppr b/tests/data/test-diff-suppr/test23-alias-filter-4.suppr
index 2a7e5893eb43..16edb095bbbf 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-4.suppr
+++ b/tests/data/test-diff-suppr/test23-alias-filter-4.suppr
@@ -1,3 +1,3 @@
  [suppress_function]
-   symbol_name_regexp = function1
-   allow_other_aliases = no
\ No newline at end of file
+   symbol_name_regexp = __private_function
+   allow_other_aliases = no
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt b/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt
index 0788d48931f7..8b06f3151b63 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt
+++ b/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt
@@ -4,8 +4,8 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 1 function with some indirect sub-type change:
 
   [C] 'function void __private_function(S*)' has some indirect sub-type changes:
-    Please note that the symbol of this function is function1@VERSION_1.0
-     and it aliases symbols: __private_function@PRIVATE_1.0, function2@VERSION_1.0
+    Please note that the symbol of this function is __private_function@PRIVATE_1.0
+     and it aliases symbols: function2@VERSION_1.0, function1@VERSION_1.0
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'typedef S':
         underlying type 'struct S' changed:
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt b/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt
index 0788d48931f7..8b06f3151b63 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt
+++ b/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt
@@ -4,8 +4,8 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 1 function with some indirect sub-type change:
 
   [C] 'function void __private_function(S*)' has some indirect sub-type changes:
-    Please note that the symbol of this function is function1@VERSION_1.0
-     and it aliases symbols: __private_function@PRIVATE_1.0, function2@VERSION_1.0
+    Please note that the symbol of this function is __private_function@PRIVATE_1.0
+     and it aliases symbols: function2@VERSION_1.0, function1@VERSION_1.0
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'typedef S':
         underlying type 'struct S' changed:
diff --git a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi
index e7cd4c9a0b81..60086b1e5e3b 100644
--- a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi
+++ b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi
@@ -36,13 +36,13 @@
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1EPKcSt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams16mapped_file_sinkC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams16mapped_file_sinkC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams16mapped_file_sinkC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_source4initEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -50,31 +50,31 @@
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_source9alignmentEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_source9open_implERKNS0_24basic_mapped_file_paramsINS0_6detail4pathEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams18mapped_file_sourceC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams18mapped_file_sourceC1ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams18mapped_file_sourceC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openEPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openERKNS0_6detail4pathESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openEiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1EPKcSt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openEPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openERKNS0_6detail4pathESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openEiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1EPKcSt13_Ios_Openmode' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail14system_failureB5cxx11EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -90,8 +90,8 @@
     <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_impl9open_fileENS0_24basic_mapped_file_paramsINS1_4pathEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail16mapped_file_implC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail16mapped_file_implD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl10close_implEbb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl14invalid_handleEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl4openERKNS1_4pathESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -100,8 +100,8 @@
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl4seekElSt12_Ios_Seekdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl5closeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl5writeEPKcl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail20file_descriptor_implD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail23mapped_file_params_base9normalizeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -532,7 +532,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='file_descriptor_impl' mangled-name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/file_descriptor.cpp' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev'>
+              <function-decl name='file_descriptor_impl' mangled-name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/file_descriptor.cpp' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev'>
                 <parameter type-id='type-id-88' is-artificial='yes'/>
                 <return type-id='type-id-18'/>
               </function-decl>
@@ -665,13 +665,13 @@
             <var-decl name='pimpl_' type-id='type-id-109' visibility='default' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='143' column='1'/>
           </data-member>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC1Ev'>
+            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC2Ev'>
               <parameter type-id='type-id-100' is-artificial='yes'/>
               <return type-id='type-id-18'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE'>
+            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE'>
               <parameter type-id='type-id-100' is-artificial='yes'/>
               <parameter type-id='type-id-256'/>
               <parameter type-id='type-id-257'/>
@@ -816,7 +816,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor_source' mangled-name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode'>
+            <function-decl name='file_descriptor_source' mangled-name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode'>
               <parameter type-id='type-id-106' is-artificial='yes'/>
               <parameter type-id='type-id-200'/>
               <parameter type-id='type-id-251'/>
@@ -884,7 +884,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE'>
+            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE'>
               <parameter type-id='type-id-104' is-artificial='yes'/>
               <parameter type-id='type-id-259'/>
               <parameter type-id='type-id-257'/>
@@ -908,7 +908,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_'>
+            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_'>
               <parameter type-id='type-id-104' is-artificial='yes'/>
               <parameter type-id='type-id-169'/>
               <return type-id='type-id-18'/>
@@ -1685,7 +1685,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes'>
-              <function-decl name='~mapped_file_impl' mangled-name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/mapped_file.cpp' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail16mapped_file_implD1Ev'>
+              <function-decl name='~mapped_file_impl' mangled-name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/mapped_file.cpp' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail16mapped_file_implD2Ev'>
                 <parameter type-id='type-id-91' is-artificial='yes'/>
                 <return type-id='type-id-18'/>
               </function-decl>
@@ -1849,7 +1849,7 @@
             <var-decl name='pimpl_' type-id='type-id-115' visibility='default' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/mapped_file.hpp' line='218' column='1'/>
           </data-member>
           <member-function access='public' constructor='yes'>
-            <function-decl name='mapped_file_source' mangled-name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/mapped_file.hpp' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams18mapped_file_sourceC1Ev'>
+            <function-decl name='mapped_file_source' mangled-name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/mapped_file.hpp' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams18mapped_file_sourceC2Ev'>
               <parameter type-id='type-id-108' is-artificial='yes'/>
               <return type-id='type-id-18'/>
             </function-decl>
diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
index 28df268d52a5..e5b2fbbaa610 100644
--- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
+++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
@@ -151,8 +151,8 @@
     <elf-symbol name='_ZN5mongo15FTDCFileManager6rotateEPNS_6ClientE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15FTDCFileManagerC1EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15FTDCFileManagerC2EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo15FTDCFileManagerC1EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo15FTDCFileManagerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo15FTDCFileManagerD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo15FTDCFileManagerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo15FTDCFileManagerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo15FTDCFileManagerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo15FTDCFileManagerD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16FTDCDecompressor10uncompressENS_14ConstDataRangeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16FTDCDecompressorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIiEERS2_T_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -7133,7 +7133,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerD2Ev' filepath='src/mongo/db/ftdc/file_manager.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerD1Ev'>
+          <function-decl name='~FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerD2Ev' filepath='src/mongo/db/ftdc/file_manager.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerD2Ev'>
             <parameter type-id='type-id-118' is-artificial='yes'/>
             <return type-id='type-id-22'/>
           </function-decl>
diff --git a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi
index bc8d8ae212e6..d3ac0757f79e 100644
--- a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi
+++ b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi
@@ -36,8 +36,8 @@
     <elf-symbol name='_ZN5boost10filesystem14symlink_statusERKNS0_4pathERNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entry16replace_filenameERKNS0_4pathENS0_11file_statusES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entry6assignERKNS0_4pathENS0_11file_statusES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem15directory_entryC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem15directory_entryC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem15directory_entryC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem15directory_entryC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem15directory_entryC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem15directory_entryC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entryD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem15directory_entryD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entryD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15is_regular_fileENS0_11file_statusE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -45,24 +45,24 @@
     <elf-symbol name='_ZN5boost10filesystem16filesystem_error5m_impC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_error5m_impD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_error5m_impD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_error5m_impD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathENS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathES6_NS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsRKNS0_4pathENS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathENS_6system10error_codeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsRKNS0_4pathES6_NS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathES6_NS_6system10error_codeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18create_directoriesERKNS0_4pathERNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18directory_iterator9incrementERNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18directory_iterator9incrementEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18portable_file_nameERKSs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem19permissions_presentENS0_11file_statusE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem19portable_posix_nameERKSs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -88,16 +88,16 @@
     <elf-symbol name='_ZN5boost10filesystem4path8iteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4path8iteratorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4path8iteratorD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4path8iteratorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC2EPKc' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC2ERKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC1ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC1IPKcEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC1ISbIwSt11char_traitsIwESaIwEEEERKT_PNS_9enable_ifINS0_11path_traits11is_pathableINS_5decayIS7_E4typeEEEvE4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1EPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC2ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1ERKSs' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC2IPKcEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1IPKcEET_S5_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC2ISbIwSt11char_traitsIwESaIwEEEERKT_PNS_9enable_ifINS0_11path_traits11is_pathableINS_5decayIS7_E4typeEEEvE4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1ISbIwSt11char_traitsIwESaIwEEEERKT_PNS_9enable_ifINS0_11path_traits11is_pathableINS_5decayIS7_E4typeEEEvE4typeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathD2Ev' is-defined='yes'/>
@@ -109,10 +109,10 @@
     <elf-symbol name='_ZN5boost10filesystem4pathdVERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail10equivalentERKNS0_4pathES4_PNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail10remove_allERKNS0_4pathEPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail11lex_compareENS0_4path8iteratorES3_S3_S3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail11permissionsERKNS0_4pathENS0_5permsEPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail11resize_fileERKNS0_4pathEmPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -167,30 +167,30 @@
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEE4swapERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEE5resetIS3_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1IS3_EEPT_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEE4swapERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1IS3_EEPT_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12noncopyable_11noncopyableC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12noncopyable_11noncopyableC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIcEC1EPc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIcEC2EPc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIcEC1EPc' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIcED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIcED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIcED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIcED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIcED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIcED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIwEC1EPw' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIwEC2EPw' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIwEC1EPw' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIwED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIwED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIwED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIwED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIwED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIwED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost14checked_deleteINS_10filesystem16filesystem_error5m_impEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost14checked_deleteINS_10filesystem6detail11dir_itr_impEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost15iterator_facadeINS_10filesystem18directory_iteratorENS1_15directory_entryENS_25single_pass_traversal_tagERS3_lE7derivedEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -213,27 +213,27 @@
     <elf-symbol name='_ZN5boost20iterator_core_access9incrementINS_10filesystem18directory_iteratorEEEvRT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost20iterator_core_access9incrementINS_10filesystem4path8iteratorEEEvRT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail12shared_count4swapERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail12shared_countC1INS_10filesystem6detail11dir_itr_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail12shared_countC2INS_10filesystem6detail11dir_itr_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC1INS_10filesystem6detail11dir_itr_impEEEPT_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_base12weak_releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_base7destroyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_base7releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail15sp_counted_baseC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail15sp_counted_baseC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_baseD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_baseD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_baseD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail15sp_counted_baseD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEE11get_deleterERKSt9type_info' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEE19get_untyped_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEE7disposeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -254,24 +254,24 @@
     <elf-symbol name='_ZN5boost6system10error_code21unspecified_bool_trueEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system10error_code5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system10error_code6assignEiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system12system_errorC1ENS0_10error_codeERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system12system_errorC2ENS0_10error_codeERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorC1ENS0_10error_codeERKSs' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system12system_errorD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system14error_categoryC2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system14error_categoryD1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6systemeqERKNS0_15error_conditionES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boosteqINS_10filesystem18directory_iteratorENS1_15directory_entryENS_25single_pass_traversal_tagERS3_lS2_S3_S4_S5_lEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS6_12always_bool2ES8_S9_E4typeEE4typeERKNS_15iterator_facadeIS8_T0_T1_T2_T3_EERKNSH_IS9_T5_T6_T7_T8_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boosteqINS_10filesystem4path8iteratorEKS2_NS_27bidirectional_traversal_tagERS4_lS3_S4_S5_S6_lEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS7_12always_bool2ES9_SA_E4typeEE4typeERKNS_15iterator_facadeIS9_T0_T1_T2_T3_EERKNSI_ISA_T5_T6_T7_T8_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -282,8 +282,8 @@
     <elf-symbol name='_ZN9__gnu_cxx17__is_null_pointerIcEEbPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC1ERKS2_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZNK5boost10filesystem11file_status11permissionsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNK5boost10filesystem11file_status4typeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNK5boost10filesystem15directory_entry12m_get_statusEPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -362,9 +362,9 @@
     <elf-symbol name='_ZNSs6appendIPKcEERSsT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs6appendIPcEERSsT_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1IPKcEET_S2_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2IPcEET_S1_RKSaIcE' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2IPKcEET_S2_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPKcEET_S2_RKSaIcE' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPcEET_S1_RKSaIcE' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIcE7compareEPKcS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14numeric_limitsIwE3maxEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2205,7 +2205,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='basic_string&lt;char*&gt;' mangled-name='_ZNSsC2IPcEET_S1_RKSaIcE' filepath='/usr/include/c++/4.9/bits/basic_string.tcc' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IPcEET_S1_RKSaIcE'>
+          <function-decl name='basic_string&lt;char*&gt;' mangled-name='_ZNSsC2IPcEET_S1_RKSaIcE' filepath='/usr/include/c++/4.9/bits/basic_string.tcc' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IPcEET_S1_RKSaIcE'>
             <parameter type-id='type-id-167' is-artificial='yes'/>
             <parameter type-id='type-id-41'/>
             <parameter type-id='type-id-41'/>
@@ -2728,7 +2728,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_'>
             <parameter type-id='type-id-74' is-artificial='yes'/>
             <parameter type-id='type-id-88'/>
             <return type-id='type-id-26'/>
@@ -3029,7 +3029,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected' constructor='yes'>
-            <function-decl name='noncopyable' mangled-name='_ZN5boost12noncopyable_11noncopyableC2Ev' filepath='src/third_party/boost-1.56.0/boost/core/noncopyable.hpp' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12noncopyable_11noncopyableC1Ev'>
+            <function-decl name='noncopyable' mangled-name='_ZN5boost12noncopyable_11noncopyableC2Ev' filepath='src/third_party/boost-1.56.0/boost/core/noncopyable.hpp' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12noncopyable_11noncopyableC2Ev'>
               <parameter type-id='type-id-79' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
@@ -3113,7 +3113,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_condition' mangled-name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_condition' mangled-name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-85' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-102'/>
@@ -3283,13 +3283,13 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2Ev' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1Ev'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2Ev' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2Ev'>
               <parameter type-id='type-id-83' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-83' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-102'/>
@@ -3297,7 +3297,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-83' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-102'/>
@@ -3305,7 +3305,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-83' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-102'/>
@@ -6260,13 +6260,13 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='shared_count' mangled-name='_ZN5boost6detail12shared_countC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC1Ev'>
+            <function-decl name='shared_count' mangled-name='_ZN5boost6detail12shared_countC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC2Ev'>
               <parameter type-id='type-id-262' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
-            <function-decl name='~shared_count' mangled-name='_ZN5boost6detail12shared_countD2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countD1Ev'>
+            <function-decl name='~shared_count' mangled-name='_ZN5boost6detail12shared_countD2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countD2Ev'>
               <parameter type-id='type-id-262' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
@@ -6280,7 +6280,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='shared_count&lt;boost::filesystem::filesystem_error::m_imp&gt;' mangled-name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_'>
+            <function-decl name='shared_count&lt;boost::filesystem::filesystem_error::m_imp&gt;' mangled-name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_'>
               <parameter type-id='type-id-262' is-artificial='yes'/>
               <parameter type-id='type-id-293'/>
               <return type-id='type-id-26'/>
@@ -6351,7 +6351,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_baseC1Ev'>
+            <function-decl name='sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_baseC2Ev'>
               <parameter type-id='type-id-265' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
@@ -6640,7 +6640,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='sp_counted_impl_p' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_'>
+            <function-decl name='sp_counted_impl_p' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_'>
               <parameter type-id='type-id-271' is-artificial='yes'/>
               <parameter type-id='type-id-293'/>
               <return type-id='type-id-26'/>
@@ -6808,7 +6808,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev'>
+          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev'>
             <parameter type-id='type-id-315' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
@@ -6991,7 +6991,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem15directory_entryC1Ev'>
+            <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem15directory_entryC2Ev'>
               <parameter type-id='type-id-283' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
@@ -7549,20 +7549,20 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1Ev'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2Ev'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1ERKS1_'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2ERKS1_'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <parameter type-id='type-id-365'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1EPKc'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2EPKc'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <parameter type-id='type-id-378'/>
               <return type-id='type-id-26'/>
@@ -7591,20 +7591,20 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1Ev'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2Ev'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1ERKS1_'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2ERKS1_'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <parameter type-id='type-id-365'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1EPKc'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2EPKc'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <parameter type-id='type-id-378'/>
               <return type-id='type-id-26'/>
@@ -7627,7 +7627,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1EPKc'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2EPKc'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <parameter type-id='type-id-378'/>
               <return type-id='type-id-26'/>
@@ -7968,13 +7968,13 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impC1Ev'>
+              <function-decl name='dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impC2Ev'>
                 <parameter type-id='type-id-278' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes'>
-              <function-decl name='~dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impD1Ev'>
+              <function-decl name='~dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impD2Ev'>
                 <parameter type-id='type-id-278' is-artificial='yes'/>
                 <parameter type-id='type-id-15' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
@@ -8059,20 +8059,20 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC1Ev'>
+            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC2Ev'>
               <parameter type-id='type-id-286' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE'>
+            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE'>
               <parameter type-id='type-id-286' is-artificial='yes'/>
               <parameter type-id='type-id-365'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
-            <function-decl name='~directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorD1Ev'>
+            <function-decl name='~directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorD2Ev'>
               <parameter type-id='type-id-286' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
@@ -8247,7 +8247,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE'>
+            <function-decl name='filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE'>
               <parameter type-id='type-id-290' is-artificial='yes'/>
               <parameter type-id='type-id-456'/>
               <parameter type-id='type-id-82'/>
@@ -8288,7 +8288,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorD1Ev'>
+            <function-decl name='~filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorD2Ev'>
               <parameter type-id='type-id-290' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
@@ -8470,7 +8470,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc'>
+            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc'>
               <parameter type-id='type-id-326' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-102'/>
@@ -8479,7 +8479,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc'>
+            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc'>
               <parameter type-id='type-id-326' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-102'/>
@@ -8530,35 +8530,35 @@
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-326' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-326' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-326' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-326' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-326' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-26'/>
@@ -8813,7 +8813,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev'>
+          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev'>
             <parameter type-id='type-id-321' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
@@ -8971,7 +8971,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED1Ev'>
+          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED2Ev'>
             <parameter type-id='type-id-311' is-artificial='yes'/>
             <parameter type-id='type-id-15' is-artificial='yes'/>
             <return type-id='type-id-26'/>
@@ -8985,7 +8985,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED1Ev'>
+          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED2Ev'>
             <parameter type-id='type-id-311' is-artificial='yes'/>
             <parameter type-id='type-id-15' is-artificial='yes'/>
             <return type-id='type-id-26'/>
@@ -9936,7 +9936,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIwED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIwED1Ev'>
+          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIwED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIwED2Ev'>
             <parameter type-id='type-id-600' is-artificial='yes'/>
             <parameter type-id='type-id-15' is-artificial='yes'/>
             <return type-id='type-id-26'/>
diff --git a/tests/data/test-read-dwarf/test11-pr18828.so.abi b/tests/data/test-read-dwarf/test11-pr18828.so.abi
index 6789be55ab44..f3c07f9bf34d 100644
--- a/tests/data/test-read-dwarf/test11-pr18828.so.abi
+++ b/tests/data/test-read-dwarf/test11-pr18828.so.abi
@@ -40,24 +40,24 @@
     <elf-symbol name='_ZN10mongoutils3str6streamlsIA42_cEERS1_RKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10mongoutils3str6streamlsIA50_cEERS1_RKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10mongoutils3str6streamlsIiEERS1_RKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10AtomicWordIjE16fetchAndSubtractEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10AtomicWordIjE16subtractAndFetchEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC2EPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10StringDataC1ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC1EPKc' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10StringDataC2ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC1ERKSs' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBException10addContextERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBExceptionC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBExceptionC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11DBExceptionC1ERKSsi' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBExceptionD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11DBExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11DBExceptionD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11DBExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11DBExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11DBExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11DBExceptionD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE12reserveBytesEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE13appendNumImplIcEEvT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE13appendNumImplIiEEvT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -71,22 +71,22 @@
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendNumEc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendNumEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendStrENS_10StringDataEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12LittleEndianIcEC1Ec' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12LittleEndianIcEC2Ec' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12LittleEndianIcEC1Ec' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12LittleEndianIiEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12LittleEndianIiEC2Ei' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12LittleEndianIiEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12SharedBufferC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12SharedBufferC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12SharedBufferC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12LittleEndianIiEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12LittleEndianIiEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12LittleEndianIiEC1Ei' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12SharedBufferC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12SharedBufferC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12SharedBufferC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12SharedBufferD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12SharedBufferD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12SharedBufferD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ConstDataViewC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ConstDataViewC2EPKc' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ConstDataViewC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ExceptionInfoC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ExceptionInfoC2ERKSsi' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ExceptionInfoC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ConstDataViewC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ConstDataViewC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ConstDataViewC1EPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ExceptionInfoC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ExceptionInfoC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ExceptionInfoC1ERKSsi' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo13ExceptionInfoD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ExceptionInfoD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo13ExceptionInfoD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14BSONObjBuilder11appendArrayENS_10StringDataERKNS_7BSONObjE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -97,16 +97,16 @@
     <elf-symbol name='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14BSONObjBuilder6appendISsEERS0_NS_10StringDataERKSt6vectorIT_SaIS5_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14BSONObjBuilder6numStrEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderC2Ei' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderC1Ei' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14addSASLOptionsEPNS_17optionenvironment13OptionSectionE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15BSONSizeTracker3gotEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15tagLittleEndianIcEENS_12LittleEndianIT_EES2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15tagLittleEndianIiEENS_12LittleEndianIT_EES2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo16SASLGlobalParamsC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo16SASLGlobalParamsC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16SASLGlobalParamsD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo16SASLGlobalParamsD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16SASLGlobalParamsD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16TrivialAllocator4FreeEPv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -115,8 +115,8 @@
     <elf-symbol name='_ZN5mongo16storeSASLOptionsERKNS_17optionenvironment11EnvironmentE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEE5SBNUMIiEERS2_T_iPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEE6appendENS_10StringDataE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEElsENS_10StringDataE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -130,11 +130,11 @@
     <elf-symbol name='_ZN5mongo17optionenvironment17OptionDescriptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17optionenvironment5ValueD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17optionenvironment5ValueD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17optionenvironment5ValueD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionC2ERKSsi' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionC1ERKSsi' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo18AssertionExceptionD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo21MsgAssertionExceptionC1EiRKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo21MsgAssertionExceptionC2EiRKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo21MsgAssertionExceptionC1EiRKSs' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo21MsgAssertionExceptionD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -145,20 +145,20 @@
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsE3setERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsE6appendEPNS_16OperationContextERNS_14BSONObjBuilderERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsE8validateERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE3setERKNS_11BSONElementE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE3setERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE6appendEPNS_16OperationContextERNS_14BSONObjBuilderERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE8validateERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterIiE3setERKNS_11BSONElementE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterIiE3setERKi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterIiE6appendEPNS_16OperationContextERNS_14BSONObjBuilderERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -171,8 +171,8 @@
     <elf-symbol name='_ZN5mongo25BSONObjBuilderValueStreamD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo25BSONObjBuilderValueStreamD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo25BSONObjBuilderValueStreamD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameter8validateERKi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo36ExportedScramIterationCountParameterC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo36ExportedScramIterationCountParameterD1Ev' is-defined='yes'/>
@@ -183,11 +183,11 @@
     <elf-symbol name='_ZN5mongo6Status9ErrorInfoD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6Status9ErrorInfoD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Status9ErrorInfoD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6StatusC1EOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6StatusC2EOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusC1EOS0_' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6endian14littleToNativeIiEET_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6endian14nativeToLittleIcEET_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6endian14nativeToLittleIiEET_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -205,8 +205,8 @@
     <elf-symbol name='_ZN5mongo6logger16LogstreamBuilderlsEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6logger16LogstreamBuilderlsERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo7BSONObj4initEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo7BSONObjC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo7BSONObjC2EPKc' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo7BSONObjC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo7BSONObjC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo7BSONObjC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo7BSONObjC1EPKc' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo7BSONObjD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo7BSONObjD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo7BSONObjD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo8DataType10unsafeLoadINS_12LittleEndianIiEEEEvPT_PKcPm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -232,44 +232,44 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE10deallocateEPSsm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE7destroyISsEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEE7destroyIS5_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEE7destroyIS5_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEE7destroyIS4_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx14__alloc_traitsISaISsEE15_S_always_equalEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx14__alloc_traitsISaISsEE27_S_propagate_on_copy_assignEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_bufferISt4pairIKSsSsEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_bufferISt4pairIKSsSsEE7_M_addrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxxneIPKSsSt6vectorISsSaISsEEEEbRKNS_17__normal_iteratorIT_T0_EESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxxneIPSsSt6vectorISsSaISsEEEEbRKNS_17__normal_iteratorIT_T0_EESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -326,25 +326,25 @@
     <elf-symbol name='_ZNKSt9_Any_data9_M_accessEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNKSt9_Any_data9_M_accessIPFN5mongo6StatusEPNS1_18InitializerContextEEEERKT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISsEC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISsEC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsEC1ERKS_' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0EPN5mongo14BSONObjBuilderELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEELb0EE7_M_headERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN5mongo14BSONObjBuilderEELb1EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -352,30 +352,30 @@
     <elf-symbol name='_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEELb1EE7_S_baseES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEELb1EE7_S_baseES6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Iter_baseIPSsLb0EE7_S_baseES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE11_M_put_nodeEPSt10_List_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE11_M_put_nodeEPSt10_List_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeIN5mongo17optionenvironment13OptionSectionEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_nodeIN5mongo17optionenvironment13OptionSectionEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeIN5mongo17optionenvironment13OptionSectionEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEED2Ev' is-defined='yes'/>
@@ -383,12 +383,12 @@
     <elf-symbol name='_ZNSt10shared_ptrIN5mongo17optionenvironment10ConstraintEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN5mongo17optionenvironment10ConstraintEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10shared_ptrIN5mongo17optionenvironment10ConstraintEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm1EISt14default_deleteIN5mongo14BSONObjBuilderEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN5mongo14BSONObjBuilderEEEE7_M_headERS4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN5mongo14BSONObjBuilderEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKSsPSsEET0_T_S7_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -398,31 +398,31 @@
     <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10shared_ptrIN5mongo17optionenvironment10ConstraintEEEEvT_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_impl12_M_swap_dataERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE13_M_deallocateEPSsm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE12_Vector_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE13_M_deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeISt4pairIKSsSsEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13move_iteratorIPSsEC1ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13move_iteratorIPSsEC2ES0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13move_iteratorIPSsEC2ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13move_iteratorIPSsEC1ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13move_iteratorIPSsEC2ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13move_iteratorIPSsEC1ES0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt13move_iteratorIPSsEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE10_M_destroyERSt9_Any_dataSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE10_M_managerERSt9_Any_dataRKS8_St18_Manager_operation' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -431,34 +431,34 @@
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE15_M_init_functorERSt9_Any_dataOS6_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE21_M_not_empty_functionIS5_EEbRKPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE8_M_cloneERSt9_Any_dataRKS8_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseD1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt14unary_functionIPN5mongo18InitializerContextENS0_6StatusEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14unary_functionIPN5mongo18InitializerContextENS0_6StatusEEC2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt14unary_functionIPN5mongo18InitializerContextENS0_6StatusEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10deallocateERS0_PSsm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE11_S_max_sizeIKS0_vEEmRT_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE7destroyISsEEvRS0_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE8allocateERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE8max_sizeERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEEE10deallocateERS5_PS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10_S_destroyIS3_EENSt9enable_ifIXsrSt6__and_IINS6_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS5_PSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10_S_destroyIS3_EENSt9enable_ifIXsrSt6__and_IJNS6_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS5_PSB_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10_S_destroyIS3_EENSt9enable_ifIXsrSt6__and_IJNS6_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS5_PSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10deallocateERS5_PS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE7destroyIS3_EEvRS5_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Function_handlerIFN5mongo6StatusEPNS0_18InitializerContextEEPS4_E9_M_invokeERKSt9_Any_dataS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsEET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPSsS2_EET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -469,12 +469,12 @@
     <elf-symbol name='_ZNSt31_Maybe_unary_or_binary_functionIN5mongo6StatusEJPNS0_18InitializerContextEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -494,20 +494,20 @@
     <elf-symbol name='_ZNSt6vectorISsSaISsEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEE9push_backEOSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC2ERKS0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC1ERKS0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEEaSEOS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEEaSERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EE13_M_initializeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -518,33 +518,33 @@
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessIPFN5mongo6StatusEPNS1_18InitializerContextEEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessIPKSt9type_infoEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessIPPFN5mongo6StatusEPNS1_18InitializerContextEEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9exceptionC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsJSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsISsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9exceptionC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsJSsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsJSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt11__addressofIKPFN5mongo6StatusEPNS0_18InitializerContextEEEPT_RS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt11__addressofISsEPT_RS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt11__addressofISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEEPT_RS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN5mongo14BSONObjBuilderEEIEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm1ESt14default_deleteIN5mongo14BSONObjBuilderEEJEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS5_DpT1_EE' is-defined='yes'/>
     <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN5mongo14BSONObjBuilderEEJEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEENSt11_Miter_baseIT_E13iterator_typeES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -568,12 +568,12 @@
     <elf-symbol name='_ZSt22__uninitialized_copy_aISt13move_iteratorIPSsES1_SsET0_T_S4_S3_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt32__make_move_if_noexcept_iteratorIPSsSt13move_iteratorIS0_EET0_T_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt34__uninitialized_move_if_noexcept_aIPSsS0_SaISsEET0_T_S3_S2_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERKSD_' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3maxImERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEENS1_IPSsS6_EEET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt4copyIPSsS0_ET0_T_S2_S1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -7054,7 +7054,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='list' mangled-name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev'>
+          <function-decl name='list' mangled-name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev'>
             <parameter type-id='type-id-2030' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -7089,7 +7089,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev'>
+                <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev'>
                   <parameter type-id='type-id-1702' is-artificial='yes'/>
                   <return type-id='type-id-56'/>
                 </function-decl>
@@ -7188,14 +7188,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev'>
+          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev'>
             <parameter type-id='type-id-1700' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev'>
+          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev'>
             <parameter type-id='type-id-1700' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -7840,7 +7840,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev'>
+                <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev'>
                   <parameter type-id='type-id-1696' is-artificial='yes'/>
                   <return type-id='type-id-56'/>
                 </function-decl>
@@ -7939,14 +7939,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev'>
+          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev'>
             <parameter type-id='type-id-1694' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev'>
+          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev'>
             <parameter type-id='type-id-1694' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -7975,14 +7975,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev'>
             <parameter type-id='type-id-1933' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev'>
             <parameter type-id='type-id-1933' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -8538,20 +8538,20 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC1Ev'>
+          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC2Ev'>
             <parameter type-id='type-id-2161' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~vector' mangled-name='_ZNSt6vectorISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEED1Ev'>
+          <function-decl name='~vector' mangled-name='_ZNSt6vectorISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEED2Ev'>
             <parameter type-id='type-id-2161' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC1ERKS0_'>
+          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC2ERKS0_'>
             <parameter type-id='type-id-2161' is-artificial='yes'/>
             <parameter type-id='type-id-1452'/>
             <return type-id='type-id-56'/>
@@ -8600,13 +8600,13 @@
                 </function-decl>
               </member-function>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev'>
+                <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev'>
                   <parameter type-id='type-id-1832' is-artificial='yes'/>
                   <return type-id='type-id-56'/>
                 </function-decl>
               </member-function>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_'>
+                <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_'>
                   <parameter type-id='type-id-1832' is-artificial='yes'/>
                   <parameter type-id='type-id-929'/>
                   <return type-id='type-id-56'/>
@@ -8727,20 +8727,20 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC1Ev'>
+          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC2Ev'>
             <parameter type-id='type-id-1827' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEED1Ev'>
+          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEED2Ev'>
             <parameter type-id='type-id-1827' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_'>
+          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_'>
             <parameter type-id='type-id-1827' is-artificial='yes'/>
             <parameter type-id='type-id-932'/>
             <return type-id='type-id-56'/>
@@ -8800,7 +8800,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISsED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISsED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsED2Ev'>
             <parameter type-id='type-id-1943' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -8814,7 +8814,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='allocator' mangled-name='_ZNSaISsEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISsEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsEC2Ev'>
             <parameter type-id='type-id-1943' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -8967,7 +8967,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_'>
+          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_'>
             <parameter type-id='type-id-1942'/>
             <parameter type-id='type-id-1985'/>
             <parameter type-id='type-id-1984'/>
@@ -8975,7 +8975,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_'>
+          <function-decl name='_S_construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_'>
             <parameter type-id='type-id-1942'/>
             <parameter type-id='type-id-1985'/>
             <parameter type-id='type-id-1984'/>
@@ -8990,7 +8990,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_destroy&lt;std::basic_string&lt;char&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_'>
+          <function-decl name='_S_destroy&lt;std::basic_string&lt;char&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_'>
             <parameter type-id='type-id-1942'/>
             <parameter type-id='type-id-1985'/>
             <return type-id='type-id-56'/>
@@ -9500,7 +9500,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='map' mangled-name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev'>
             <parameter type-id='type-id-2044' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -9549,7 +9549,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public'>
-                <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev'>
+                <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev'>
                   <parameter type-id='type-id-1744' is-artificial='yes'/>
                   <return type-id='type-id-56'/>
                 </function-decl>
@@ -10200,14 +10200,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev'>
             <parameter type-id='type-id-1738' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev'>
             <parameter type-id='type-id-1738' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -10248,14 +10248,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev'>
             <parameter type-id='type-id-1939' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev'>
             <parameter type-id='type-id-1939' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -10708,7 +10708,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E'>
             <parameter type-id='type-id-1747' is-artificial='yes'/>
             <parameter type-id='type-id-2440'/>
             <return type-id='type-id-56'/>
@@ -11458,7 +11458,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~vector' mangled-name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev'>
+          <function-decl name='~vector' mangled-name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev'>
             <parameter type-id='type-id-2165' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -11621,7 +11621,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev'>
+          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev'>
             <parameter type-id='type-id-1834' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -11672,7 +11672,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev'>
             <parameter type-id='type-id-1952' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -11837,7 +11837,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__shared_ptr' mangled-name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='914' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev'>
+          <function-decl name='~__shared_ptr' mangled-name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='914' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev'>
             <parameter type-id='type-id-1915' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -16506,7 +16506,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev'>
+          <function-decl name='~__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev'>
             <parameter type-id='type-id-1912' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -20088,7 +20088,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' filepath='/usr/include/c++/4.9/bits/unique_ptr.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev'>
+          <function-decl name='~unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' filepath='/usr/include/c++/4.9/bits/unique_ptr.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev'>
             <parameter type-id='type-id-2121' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -20155,7 +20155,7 @@
             <typedef-decl name='_Inherited' type-id='type-id-861' filepath='/usr/include/c++/4.9/tuple' line='237' column='1' id='type-id-846'/>
           </member-type>
         <member-function access='public' static='yes'>
-          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' filepath='/usr/include/c++/4.9/tuple' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_'>
+          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' filepath='/usr/include/c++/4.9/tuple' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_'>
             <parameter type-id='type-id-1762'/>
             <return type-id='type-id-1517'/>
           </function-decl>
@@ -20443,11 +20443,11 @@
             <typedef-decl name='type' type-id='type-id-1513' filepath='/usr/include/c++/4.9/type_traits' line='1517' column='1' id='type-id-2766'/>
           </member-type>
       </class-decl>
-      <function-decl name='__get_helper&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='745' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE'>
+      <function-decl name='__get_helper&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='745' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE'>
         <parameter type-id='type-id-1762'/>
         <return type-id='type-id-2249'/>
       </function-decl>
-      <function-decl name='get&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_'>
+      <function-decl name='get&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_'>
         <parameter type-id='type-id-2110'/>
         <return type-id='type-id-2249'/>
       </function-decl>
@@ -20507,7 +20507,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' filepath='/usr/include/c++/4.9/tuple' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_'>
+          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' filepath='/usr/include/c++/4.9/tuple' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_'>
             <parameter type-id='type-id-851'/>
             <return type-id='type-id-1981'/>
           </function-decl>
@@ -20771,7 +20771,7 @@
           </function-decl>
         </member-function>
       </class-decl>
-      <function-decl name='__get_helper&lt;0ul, std::basic_ostringstream&lt;char&gt;*, std::default_delete&lt;std::basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE'>
+      <function-decl name='__get_helper&lt;0ul, std::basic_ostringstream&lt;char&gt;*, std::default_delete&lt;std::basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE'>
         <parameter type-id='type-id-851'/>
         <return type-id='type-id-2774'/>
       </function-decl>
@@ -20841,7 +20841,7 @@
         <parameter type-id='type-id-1774'/>
         <return type-id='type-id-2776'/>
       </function-decl>
-      <function-decl name='get&lt;1ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_'>
+      <function-decl name='get&lt;1ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_'>
         <parameter type-id='type-id-2110'/>
         <return type-id='type-id-2776'/>
       </function-decl>
@@ -20934,7 +20934,7 @@
         <parameter type-id='type-id-1985'/>
         <return type-id='type-id-56'/>
       </function-decl>
-      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_'>
+      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_'>
         <parameter type-id='type-id-1985'/>
         <parameter type-id='type-id-1106'/>
         <return type-id='type-id-56'/>
@@ -21067,7 +21067,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='move_iterator' mangled-name='_ZNSt13move_iteratorIPSsEC2ES0_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13move_iteratorIPSsEC1ES0_'>
+          <function-decl name='move_iterator' mangled-name='_ZNSt13move_iteratorIPSsEC2ES0_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13move_iteratorIPSsEC2ES0_'>
             <parameter type-id='type-id-2050' is-artificial='yes'/>
             <parameter type-id='type-id-2780'/>
             <return type-id='type-id-56'/>
@@ -21109,7 +21109,7 @@
         <parameter type-id='type-id-1285'/>
         <return type-id='type-id-1'/>
       </function-decl>
-      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsJSsEEvPT_DpOT0_'>
+      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsISsEEvPT_DpOT0_'>
         <parameter type-id='type-id-1985'/>
         <parameter type-id='type-id-1984'/>
         <return type-id='type-id-56'/>
@@ -21267,7 +21267,7 @@
         <parameter type-id='type-id-2085'/>
         <return type-id='type-id-1983'/>
       </function-decl>
-      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_'>
+      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_'>
         <parameter type-id='type-id-1985'/>
         <parameter type-id='type-id-1983'/>
         <return type-id='type-id-56'/>
@@ -21280,7 +21280,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='exception' mangled-name='_ZNSt9exceptionC2Ev' filepath='/usr/include/c++/4.9/exception' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionC1Ev'>
+          <function-decl name='exception' mangled-name='_ZNSt9exceptionC2Ev' filepath='/usr/include/c++/4.9/exception' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionC2Ev'>
             <parameter type-id='type-id-2007' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -21463,13 +21463,13 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='_Function_base' mangled-name='_ZNSt14_Function_baseC2Ev' filepath='/usr/include/c++/4.9/functional' line='1993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseC1Ev'>
+          <function-decl name='_Function_base' mangled-name='_ZNSt14_Function_baseC2Ev' filepath='/usr/include/c++/4.9/functional' line='1993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseC2Ev'>
             <parameter type-id='type-id-1663' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Function_base' mangled-name='_ZNSt14_Function_baseD2Ev' filepath='/usr/include/c++/4.9/functional' line='1995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseD1Ev'>
+          <function-decl name='~_Function_base' mangled-name='_ZNSt14_Function_baseD2Ev' filepath='/usr/include/c++/4.9/functional' line='1995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseD2Ev'>
             <parameter type-id='type-id-1663' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -23168,7 +23168,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='function&lt;mongo::Status (*)(mongo::InitializerContext*), void&gt;' mangled-name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' filepath='/usr/include/c++/4.9/functional' line='2418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_'>
+          <function-decl name='function&lt;mongo::Status (*)(mongo::InitializerContext*), void&gt;' mangled-name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' filepath='/usr/include/c++/4.9/functional' line='2418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_'>
             <parameter type-id='type-id-2010' is-artificial='yes'/>
             <parameter type-id='type-id-224'/>
             <return type-id='type-id-56'/>
@@ -25095,7 +25095,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_'>
             <parameter type-id='type-id-134' is-artificial='yes'/>
             <parameter type-id='type-id-1109'/>
             <return type-id='type-id-56'/>
@@ -25220,7 +25220,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_'>
             <parameter type-id='type-id-137' is-artificial='yes'/>
             <parameter type-id='type-id-1987'/>
             <return type-id='type-id-56'/>
@@ -25764,14 +25764,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev'>
             <parameter type-id='type-id-161' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev'>
             <parameter type-id='type-id-161' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -25940,14 +25940,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev'>
             <parameter type-id='type-id-159' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev'>
             <parameter type-id='type-id-159' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -26031,7 +26031,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_'>
             <parameter type-id='type-id-173' is-artificial='yes'/>
             <parameter type-id='type-id-1985'/>
             <parameter type-id='type-id-1984'/>
@@ -26046,21 +26046,21 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsED2Ev'>
             <parameter type-id='type-id-173' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_'>
             <parameter type-id='type-id-173' is-artificial='yes'/>
             <parameter type-id='type-id-314'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC2Ev'>
             <parameter type-id='type-id-173' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -26309,14 +26309,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev'>
             <parameter type-id='type-id-169' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev'>
             <parameter type-id='type-id-169' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -30237,13 +30237,13 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2Ev' filepath='src/mongo/base/string_data.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC1Ev'>
+          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2Ev' filepath='src/mongo/base/string_data.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC2Ev'>
             <parameter type-id='type-id-1580' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC1EPKc'>
+          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC2EPKc'>
             <parameter type-id='type-id-1580' is-artificial='yes'/>
             <parameter type-id='type-id-84'/>
             <return type-id='type-id-56'/>
@@ -30454,14 +30454,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~Status' mangled-name='_ZN5mongo6StatusD2Ev' filepath='src/mongo/base/status.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusD1Ev'>
+          <function-decl name='~Status' mangled-name='_ZN5mongo6StatusD2Ev' filepath='src/mongo/base/status.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusD2Ev'>
             <parameter type-id='type-id-1573' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2Ev' filepath='src/mongo/base/status.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusC1Ev'>
+          <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2Ev' filepath='src/mongo/base/status.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusC2Ev'>
             <parameter type-id='type-id-1573' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -30848,7 +30848,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='SharedBuffer' mangled-name='_ZN5mongo12SharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12SharedBufferC1Ev'>
+          <function-decl name='SharedBuffer' mangled-name='_ZN5mongo12SharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12SharedBufferC2Ev'>
             <parameter type-id='type-id-1568' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -31418,7 +31418,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EPKc' filepath='src/mongo/bson/bsonobj.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo7BSONObjC1EPKc'>
+          <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EPKc' filepath='src/mongo/bson/bsonobj.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo7BSONObjC2EPKc'>
             <parameter type-id='type-id-1512' is-artificial='yes'/>
             <parameter type-id='type-id-84'/>
             <return type-id='type-id-56'/>
@@ -31605,7 +31605,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='StringBuilderImpl' mangled-name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' filepath='src/mongo/bson/util/builder.h' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev'>
+          <function-decl name='StringBuilderImpl' mangled-name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' filepath='src/mongo/bson/util/builder.h' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev'>
             <parameter type-id='type-id-1579' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -31854,14 +31854,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' filepath='src/mongo/bson/util/builder.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev'>
+          <function-decl name='~_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' filepath='src/mongo/bson/util/builder.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev'>
             <parameter type-id='type-id-1585' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei'>
+          <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei'>
             <parameter type-id='type-id-1585' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-56'/>
@@ -33194,7 +33194,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='ConstDataView' mangled-name='_ZN5mongo13ConstDataViewC2EPKc' filepath='src/mongo/base/data_view.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ConstDataViewC1EPKc'>
+          <function-decl name='ConstDataView' mangled-name='_ZN5mongo13ConstDataViewC2EPKc' filepath='src/mongo/base/data_view.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ConstDataViewC2EPKc'>
             <parameter type-id='type-id-1530' is-artificial='yes'/>
             <parameter type-id='type-id-3094'/>
             <return type-id='type-id-56'/>
@@ -33225,7 +33225,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='LittleEndian' mangled-name='_ZN5mongo12LittleEndianIiEC2Ei' filepath='src/mongo/base/data_type_endian.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12LittleEndianIiEC1Ei'>
+          <function-decl name='LittleEndian' mangled-name='_ZN5mongo12LittleEndianIiEC2Ei' filepath='src/mongo/base/data_type_endian.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12LittleEndianIiEC2Ei'>
             <parameter type-id='type-id-1551' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-56'/>
@@ -34445,14 +34445,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2Ei' filepath='src/mongo/bson/bsonobjbuilder.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC1Ei'>
+          <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2Ei' filepath='src/mongo/bson/bsonobjbuilder.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC2Ei'>
             <parameter type-id='type-id-1514' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderD2Ev' filepath='src/mongo/bson/bsonobjbuilder.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderD1Ev'>
+          <function-decl name='~BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderD2Ev' filepath='src/mongo/bson/bsonobjbuilder.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderD2Ev'>
             <parameter type-id='type-id-1514' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-56'/>
@@ -34854,7 +34854,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='ExceptionInfo' mangled-name='_ZN5mongo13ExceptionInfoC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ExceptionInfoC1ERKSsi'>
+          <function-decl name='ExceptionInfo' mangled-name='_ZN5mongo13ExceptionInfoC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ExceptionInfoC2ERKSsi'>
             <parameter type-id='type-id-1538' is-artificial='yes'/>
             <parameter type-id='type-id-1338'/>
             <parameter type-id='type-id-29'/>
@@ -34894,7 +34894,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~DBException' mangled-name='_ZN5mongo11DBExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DBExceptionD1Ev'>
+          <function-decl name='~DBException' mangled-name='_ZN5mongo11DBExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DBExceptionD2Ev'>
             <parameter type-id='type-id-1531' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -34953,7 +34953,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='AssertionException' mangled-name='_ZN5mongo18AssertionExceptionC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionC1ERKSsi'>
+          <function-decl name='AssertionException' mangled-name='_ZN5mongo18AssertionExceptionC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionC2ERKSsi'>
             <parameter type-id='type-id-1496' is-artificial='yes'/>
             <parameter type-id='type-id-1338'/>
             <parameter type-id='type-id-29'/>
@@ -34975,7 +34975,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~AssertionException' mangled-name='_ZN5mongo18AssertionExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionD1Ev'>
+          <function-decl name='~AssertionException' mangled-name='_ZN5mongo18AssertionExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionD2Ev'>
             <parameter type-id='type-id-1496' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -35035,7 +35035,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='SASLGlobalParams' mangled-name='_ZN5mongo16SASLGlobalParamsC2Ev' filepath='src/mongo/db/auth/sasl_options.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo16SASLGlobalParamsC1Ev'>
+          <function-decl name='SASLGlobalParams' mangled-name='_ZN5mongo16SASLGlobalParamsC2Ev' filepath='src/mongo/db/auth/sasl_options.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo16SASLGlobalParamsC2Ev'>
             <parameter type-id='type-id-1560' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -35050,7 +35050,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='ExportedScramIterationCountParameter' mangled-name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' filepath='src/mongo/db/auth/sasl_options.cpp' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo36ExportedScramIterationCountParameterC1Ev'>
+          <function-decl name='ExportedScramIterationCountParameter' mangled-name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' filepath='src/mongo/db/auth/sasl_options.cpp' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo36ExportedScramIterationCountParameterC2Ev'>
             <parameter type-id='type-id-1540' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
@@ -35201,7 +35201,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb'>
+          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb'>
             <parameter type-id='type-id-1543' is-artificial='yes'/>
             <parameter type-id='type-id-1565'/>
             <parameter type-id='type-id-1338'/>
@@ -35226,7 +35226,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev'>
+          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev'>
             <parameter type-id='type-id-1543' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -35293,7 +35293,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb'>
+          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb'>
             <parameter type-id='type-id-1542' is-artificial='yes'/>
             <parameter type-id='type-id-1565'/>
             <parameter type-id='type-id-1338'/>
@@ -35318,7 +35318,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsED1Ev'>
+          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsED2Ev'>
             <parameter type-id='type-id-1542' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
@@ -36146,13 +36146,13 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev'>
+          <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev'>
             <parameter type-id='type-id-197' is-artificial='yes'/>
             <return type-id='type-id-56'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev'>
+          <function-decl name='~intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev'>
             <parameter type-id='type-id-197' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-56'/>
diff --git a/tests/data/test-read-dwarf/test12-pr18844.so.abi b/tests/data/test-read-dwarf/test12-pr18844.so.abi
index e5bf9c0cd26f..57e1da3f401a 100644
--- a/tests/data/test-read-dwarf/test12-pr18844.so.abi
+++ b/tests/data/test-read-dwarf/test12-pr18844.so.abi
@@ -231,47 +231,47 @@
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5Event14_signal_inlockEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5Event17waitUntilSignaledEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5Event6signalEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor6cancelERKNS_8executor12TaskExecutor14CallbackHandleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor7getWorkEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor7onEventERKNS_8executor12TaskExecutor11EventHandleERKSt8functionIFvRKNS3_12CallbackArgsEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor7startupEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8Callback17waitForCompletionEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8Callback6cancelEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemaSEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8shutdownEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor9makeEventEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner16_processResponseERKNS_8executor12TaskExecutor25RemoteCommandCallbackArgsEPS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner34_signalSufficientResponsesReceivedEPNS0_19ReplicationExecutorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner3runEPNS0_19ReplicationExecutorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner5startEPNS0_19ReplicationExecutorERKSt8functionIFvvEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner6cancelEPNS0_19ReplicationExecutorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Date_tC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Date_tpLINSt6chrono8durationIlSt5ratioILl1ELl1000EEEEEERS0_T_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Status2OKEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -27045,7 +27045,7 @@
                   <var-decl name='isNetworkOperation' type-id='type-id-1' visibility='default' filepath='src/mongo/db/repl/replication_executor.h' line='370' column='1'/>
                 </data-member>
                 <member-function access='public' constructor='yes'>
-                  <function-decl name='WorkItem' mangled-name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' filepath='src/mongo/db/repl/replication_executor.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev'>
+                  <function-decl name='WorkItem' mangled-name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' filepath='src/mongo/db/repl/replication_executor.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev'>
                     <parameter type-id='type-id-1680' is-artificial='yes'/>
                     <return type-id='type-id-53'/>
                   </function-decl>
@@ -27072,7 +27072,7 @@
                   <var-decl name='_waiters' type-id='type-id-1681' visibility='default' filepath='src/mongo/db/repl/replication_executor.h' line='401' column='1'/>
                 </data-member>
                 <member-function access='public' constructor='yes'>
-                  <function-decl name='Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' filepath='src/mongo/db/repl/replication_executor.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE'>
+                  <function-decl name='Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' filepath='src/mongo/db/repl/replication_executor.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE'>
                     <parameter type-id='type-id-1677' is-artificial='yes'/>
                     <parameter type-id='type-id-1669'/>
                     <parameter type-id='type-id-1259'/>
@@ -27086,7 +27086,7 @@
                   </function-decl>
                 </member-function>
                 <member-function access='public' destructor='yes' vtable-offset='0'>
-                  <function-decl name='~Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev'>
+                  <function-decl name='~Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev'>
                     <parameter type-id='type-id-1677' is-artificial='yes'/>
                     <return type-id='type-id-53'/>
                   </function-decl>
@@ -27139,7 +27139,7 @@
                   <var-decl name='_finishedEvent' type-id='type-id-417' visibility='default' filepath='src/mongo/db/repl/replication_executor.h' line='347' column='1'/>
                 </data-member>
                 <member-function access='public' constructor='yes'>
-                  <function-decl name='Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' filepath='src/mongo/db/repl/replication_executor.h' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE'>
+                  <function-decl name='Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' filepath='src/mongo/db/repl/replication_executor.h' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE'>
                     <parameter type-id='type-id-1675' is-artificial='yes'/>
                     <parameter type-id='type-id-1669'/>
                     <parameter type-id='type-id-411'/>
@@ -27149,7 +27149,7 @@
                   </function-decl>
                 </member-function>
                 <member-function access='public' destructor='yes' vtable-offset='0'>
-                  <function-decl name='~Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev'>
+                  <function-decl name='~Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev'>
                     <parameter type-id='type-id-1675' is-artificial='yes'/>
                     <return type-id='type-id-53'/>
                   </function-decl>
@@ -27243,7 +27243,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' filepath='src/mongo/db/repl/replication_executor.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl'>
+            <function-decl name='ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' filepath='src/mongo/db/repl/replication_executor.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl'>
               <parameter type-id='type-id-1669' is-artificial='yes'/>
               <parameter type-id='type-id-1610'/>
               <parameter type-id='type-id-1685'/>
@@ -27376,7 +27376,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='0'>
-            <function-decl name='~ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorD1Ev'>
+            <function-decl name='~ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorD2Ev'>
               <parameter type-id='type-id-1669' is-artificial='yes'/>
               <return type-id='type-id-53'/>
             </function-decl>
@@ -36822,7 +36822,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected' destructor='yes' vtable-offset='0'>
-            <function-decl name='~ScatterGatherAlgorithm' mangled-name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' filepath='src/mongo/db/repl/scatter_gather_algorithm.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev'>
+            <function-decl name='~ScatterGatherAlgorithm' mangled-name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' filepath='src/mongo/db/repl/scatter_gather_algorithm.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev'>
               <parameter type-id='type-id-3605' is-artificial='yes'/>
               <return type-id='type-id-53'/>
             </function-decl>
@@ -40693,14 +40693,14 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE'>
+            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE'>
               <parameter type-id='type-id-3823' is-artificial='yes'/>
               <parameter type-id='type-id-3605'/>
               <return type-id='type-id-53'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
-            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD1Ev'>
+            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD2Ev'>
               <parameter type-id='type-id-3823' is-artificial='yes'/>
               <return type-id='type-id-53'/>
             </function-decl>
diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi
index 6dc283718846..c7e5f575986a 100644
--- a/tests/data/test-read-dwarf/test15-pr18892.so.abi
+++ b/tests/data/test-read-dwarf/test15-pr18892.so.abi
@@ -101,72 +101,72 @@
     <elf-symbol name='__asan_java_demangle_v3' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__asan_java_demangle_v3_callback' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___cxa_atexit' is-defined='yes'/>
+    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__cxa_guard_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__cxa_guard_acquire' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__cxa_guard_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__fxstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__fxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__interceptor___close' type='func-type' binding='global-binding' visibility='default-visibility' alias='__close' is-defined='yes'/>
-    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='__cxa_atexit' is-defined='yes'/>
     <elf-symbol name='__interceptor___fxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat' is-defined='yes'/>
     <elf-symbol name='__interceptor___fxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat64' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_fscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_scanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_sscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vfscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vsscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor___libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_memalign' is-defined='yes'/>
-    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat64' is-defined='yes'/>
     <elf-symbol name='__interceptor___res_iclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='__res_iclose' is-defined='yes'/>
     <elf-symbol name='__interceptor___sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xpg_strerror_r' is-defined='yes'/>
     <elf-symbol name='__interceptor___xstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat' is-defined='yes'/>
-    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat64' is-defined='yes'/>
+    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='_exit' is-defined='yes'/>
     <elf-symbol name='__interceptor__setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' alias='abort' is-defined='yes'/>
     <elf-symbol name='__interceptor_accept' type='func-type' binding='global-binding' visibility='default-visibility' alias='accept' is-defined='yes'/>
     <elf-symbol name='__interceptor_accept4' type='func-type' binding='global-binding' visibility='default-visibility' alias='accept4' is-defined='yes'/>
     <elf-symbol name='__interceptor_asctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime' is-defined='yes'/>
-    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='atexit' is-defined='yes'/>
     <elf-symbol name='__interceptor_backtrace' type='func-type' binding='global-binding' visibility='default-visibility' alias='backtrace' is-defined='yes'/>
     <elf-symbol name='__interceptor_backtrace_symbols' type='func-type' binding='global-binding' visibility='default-visibility' alias='backtrace_symbols' is-defined='yes'/>
-    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' alias='bind' is-defined='yes'/>
+    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc' is-defined='yes'/>
+    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='canonicalize_file_name' is-defined='yes'/>
+    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='cfree' is-defined='yes'/>
     <elf-symbol name='__interceptor_clock_getres' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_getres' is-defined='yes'/>
-    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_gettime' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_settime' is-defined='yes'/>
+    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' alias='close' is-defined='yes'/>
+    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='confstr' is-defined='yes'/>
+    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' alias='connect' is-defined='yes'/>
     <elf-symbol name='__interceptor_creat' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat' is-defined='yes'/>
     <elf-symbol name='__interceptor_creat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat64' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_dlclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlclose' is-defined='yes'/>
     <elf-symbol name='__interceptor_dlopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlopen' is-defined='yes'/>
-    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='drand48_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup2' is-defined='yes'/>
     <elf-symbol name='__interceptor_dup3' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup3' is-defined='yes'/>
     <elf-symbol name='__interceptor_epoll_create' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create' is-defined='yes'/>
-    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create1' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_ctl' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_wait' is-defined='yes'/>
     <elf-symbol name='__interceptor_ether_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_hostton' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_line' is-defined='yes'/>
     <elf-symbol name='__interceptor_ether_ntoa' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntohost' is-defined='yes'/>
+    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='eventfd' is-defined='yes'/>
     <elf-symbol name='__interceptor_fclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='fclose' is-defined='yes'/>
     <elf-symbol name='__interceptor_fflush' type='func-type' binding='global-binding' visibility='default-visibility' alias='fflush' is-defined='yes'/>
     <elf-symbol name='__interceptor_fopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='fopen' is-defined='yes'/>
@@ -175,209 +175,209 @@
     <elf-symbol name='__interceptor_free' type='func-type' binding='global-binding' visibility='default-visibility' alias='free' is-defined='yes'/>
     <elf-symbol name='__interceptor_freopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='freopen' is-defined='yes'/>
     <elf-symbol name='__interceptor_frexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpf' is-defined='yes'/>
     <elf-symbol name='__interceptor_frexpl' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpl' is-defined='yes'/>
     <elf-symbol name='__interceptor_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='fscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstat' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstat64' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstatfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs64' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstatvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='fwrite' is-defined='yes'/>
+    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='get_current_dir_name' is-defined='yes'/>
     <elf-symbol name='__interceptor_getaddrinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='getaddrinfo' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' alias='getcwd' is-defined='yes'/>
     <elf-symbol name='__interceptor_getdelim' type='func-type' binding='global-binding' visibility='default-visibility' alias='getdelim' is-defined='yes'/>
     <elf-symbol name='__interceptor_getgroups' type='func-type' binding='global-binding' visibility='default-visibility' alias='getgroups' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostbyaddr' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostbyname2' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostbyname2_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostent' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' alias='getitimer' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' alias='getline' is-defined='yes'/>
     <elf-symbol name='__interceptor_getmntent' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' alias='getpeername' is-defined='yes'/>
     <elf-symbol name='__interceptor_getsockname' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockname' is-defined='yes'/>
     <elf-symbol name='__interceptor_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockopt' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' alias='gettimeofday' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime' is-defined='yes'/>
     <elf-symbol name='__interceptor_gmtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' alias='iconv' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_aton' is-defined='yes'/>
     <elf-symbol name='__interceptor_inet_ntop' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_ntop' is-defined='yes'/>
     <elf-symbol name='__interceptor_inet_pton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_pton' is-defined='yes'/>
-    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' alias='initgroups' is-defined='yes'/>
     <elf-symbol name='__interceptor_inotify_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init' is-defined='yes'/>
-    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init1' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='ioctl' is-defined='yes'/>
     <elf-symbol name='__interceptor_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='kill' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_lgammaf' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf' is-defined='yes'/>
     <elf-symbol name='__interceptor_lgammaf_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal' is-defined='yes'/>
     <elf-symbol name='__interceptor_lgammal_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_listen' type='func-type' binding='global-binding' visibility='default-visibility' alias='listen' is-defined='yes'/>
     <elf-symbol name='__interceptor_localtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime' is-defined='yes'/>
-    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='longjmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_lrand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lrand48_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_lstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsnrtowcs' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsrtowcs' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbstowcs' is-defined='yes'/>
     <elf-symbol name='__interceptor_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='memalign' is-defined='yes'/>
     <elf-symbol name='__interceptor_memchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='memchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_memcmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcmp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcpy' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' alias='memmove' is-defined='yes'/>
     <elf-symbol name='__interceptor_memrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='memrchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_memset' type='func-type' binding='global-binding' visibility='default-visibility' alias='memset' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlock' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlockall' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap' is-defined='yes'/>
     <elf-symbol name='__interceptor_mmap64' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap64' is-defined='yes'/>
     <elf-symbol name='__interceptor_modf' type='func-type' binding='global-binding' visibility='default-visibility' alias='modf' is-defined='yes'/>
-    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' alias='modff' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' alias='modfl' is-defined='yes'/>
+    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_munlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlockall' is-defined='yes'/>
     <elf-symbol name='__interceptor_munmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='munmap' is-defined='yes'/>
-    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='nanosleep' is-defined='yes'/>
     <elf-symbol name='__interceptor_on_exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='on_exit' is-defined='yes'/>
-    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' alias='open' is-defined='yes'/>
     <elf-symbol name='__interceptor_open64' type='func-type' binding='global-binding' visibility='default-visibility' alias='open64' is-defined='yes'/>
     <elf-symbol name='__interceptor_opendir' type='func-type' binding='global-binding' visibility='default-visibility' alias='opendir' is-defined='yes'/>
     <elf-symbol name='__interceptor_pipe' type='func-type' binding='global-binding' visibility='default-visibility' alias='pipe' is-defined='yes'/>
     <elf-symbol name='__interceptor_pipe2' type='func-type' binding='global-binding' visibility='default-visibility' alias='pipe2' is-defined='yes'/>
-    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' alias='poll' is-defined='yes'/>
     <elf-symbol name='__interceptor_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='posix_memalign' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' alias='ppoll' is-defined='yes'/>
+    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='prctl' is-defined='yes'/>
     <elf-symbol name='__interceptor_pread' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread' is-defined='yes'/>
     <elf-symbol name='__interceptor_pread64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread64' is-defined='yes'/>
-    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getaffinity_np' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getdetachstate' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getguardsize' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_attr_getinheritsched' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getinheritsched' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_attr_getschedparam' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedparam' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedpolicy' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getscope' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstack' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_attr_getstacksize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstacksize' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_barrier_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_destroy' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_init' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_barrier_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_wait' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_broadcast' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_broadcast' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_destroy' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_init' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_signal' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_timedwait' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_wait' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_create' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_create' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_detach' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_detach' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_getschedparam' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_getschedparam' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_join' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_join' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_kill' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_mutex_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_destroy' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_init' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_lock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_mutex_timedlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_timedlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_trylock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_unlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_once' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_destroy' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_init' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_rdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_rdlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedrdlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_timedwrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedwrlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_tryrdlock' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_trywrlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_unlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_wrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_wrlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_setname_np' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_setname_np' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_spin_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_destroy' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_init' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_lock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_spin_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_trylock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_spin_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_unlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_ptrace' type='func-type' binding='global-binding' visibility='default-visibility' alias='ptrace' is-defined='yes'/>
     <elf-symbol name='__interceptor_puts' type='func-type' binding='global-binding' visibility='default-visibility' alias='puts' is-defined='yes'/>
     <elf-symbol name='__interceptor_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev64' is-defined='yes'/>
     <elf-symbol name='__interceptor_raise' type='func-type' binding='global-binding' visibility='default-visibility' alias='raise' is-defined='yes'/>
     <elf-symbol name='__interceptor_random_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='random_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' alias='read' is-defined='yes'/>
     <elf-symbol name='__interceptor_readdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir' is-defined='yes'/>
     <elf-symbol name='__interceptor_readdir64' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir64' is-defined='yes'/>
     <elf-symbol name='__interceptor_readdir64_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir64_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' alias='readv' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='realloc' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' alias='realpath' is-defined='yes'/>
+    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' alias='recv' is-defined='yes'/>
     <elf-symbol name='__interceptor_recvmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='recvmsg' is-defined='yes'/>
-    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquo' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquof' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquol' is-defined='yes'/>
+    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='rmdir' is-defined='yes'/>
     <elf-symbol name='__interceptor_scandir' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir' is-defined='yes'/>
     <elf-symbol name='__interceptor_scandir64' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir64' is-defined='yes'/>
-    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='scanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' alias='sched_getaffinity' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_destroy' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_getvalue' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_getvalue' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_init' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_post' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_post' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_timedwait' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_trywait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_trywait' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_wait' is-defined='yes'/>
-    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' alias='send' is-defined='yes'/>
     <elf-symbol name='__interceptor_sendmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='sendmsg' is-defined='yes'/>
     <elf-symbol name='__interceptor_setitimer' type='func-type' binding='global-binding' visibility='default-visibility' alias='setitimer' is-defined='yes'/>
     <elf-symbol name='__interceptor_setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__interceptor_setlocale' type='func-type' binding='global-binding' visibility='default-visibility' alias='setlocale' is-defined='yes'/>
     <elf-symbol name='__interceptor_shmctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='shmctl' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigaction' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigemptyset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigemptyset' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigfillset' is-defined='yes'/>
     <elf-symbol name='__interceptor_siglongjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='siglongjmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='signal' is-defined='yes'/>
-    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='signalfd' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigpending' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigprocmask' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigprocmask' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigsuspend' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigsuspend' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigtimedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigtimedwait' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwait' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwaitinfo' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincos' is-defined='yes'/>
     <elf-symbol name='__interceptor_sincosf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosf' is-defined='yes'/>
     <elf-symbol name='__interceptor_sincosl' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosl' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='sleep' is-defined='yes'/>
     <elf-symbol name='__interceptor_socket' type='func-type' binding='global-binding' visibility='default-visibility' alias='socket' is-defined='yes'/>
     <elf-symbol name='__interceptor_socketpair' type='func-type' binding='global-binding' visibility='default-visibility' alias='socketpair' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat' is-defined='yes'/>
     <elf-symbol name='__interceptor_stat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat64' is-defined='yes'/>
     <elf-symbol name='__interceptor_statfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='statfs' is-defined='yes'/>
     <elf-symbol name='__interceptor_statfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='statfs64' is-defined='yes'/>
     <elf-symbol name='__interceptor_statvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs64' is-defined='yes'/>
     <elf-symbol name='__interceptor_strcasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strcasecmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_strchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_strchrnul' type='func-type' binding='global-binding' visibility='default-visibility' alias='strchrnul' is-defined='yes'/>
@@ -385,50 +385,50 @@
     <elf-symbol name='__interceptor_strcpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='strcpy' is-defined='yes'/>
     <elf-symbol name='__interceptor_strdup' type='func-type' binding='global-binding' visibility='default-visibility' alias='strdup' is-defined='yes'/>
     <elf-symbol name='__interceptor_strerror' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_strlen' type='func-type' binding='global-binding' visibility='default-visibility' alias='strlen' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncasecmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_strncmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncmp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncpy' is-defined='yes'/>
     <elf-symbol name='__interceptor_strptime' type='func-type' binding='global-binding' visibility='default-visibility' alias='strptime' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strrchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_strstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strstr' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoimax' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoumax' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sysinfo' is-defined='yes'/>
     <elf-symbol name='__interceptor_tcgetattr' type='func-type' binding='global-binding' visibility='default-visibility' alias='tcgetattr' is-defined='yes'/>
-    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tempnam' is-defined='yes'/>
+    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' alias='textdomain' is-defined='yes'/>
+    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' alias='time' is-defined='yes'/>
     <elf-symbol name='__interceptor_times' type='func-type' binding='global-binding' visibility='default-visibility' alias='times' is-defined='yes'/>
-    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' alias='unlink' is-defined='yes'/>
     <elf-symbol name='__interceptor_usleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='usleep' is-defined='yes'/>
     <elf-symbol name='__interceptor_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc' is-defined='yes'/>
-    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vfscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vsscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait' is-defined='yes'/>
-    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait3' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait4' is-defined='yes'/>
+    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitid' is-defined='yes'/>
     <elf-symbol name='__interceptor_waitpid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitpid' is-defined='yes'/>
     <elf-symbol name='__interceptor_wcsnrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsnrtombs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsrtombs' is-defined='yes'/>
     <elf-symbol name='__interceptor_wcstombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcstombs' is-defined='yes'/>
     <elf-symbol name='__interceptor_wordexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='wordexp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' alias='write' is-defined='yes'/>
     <elf-symbol name='__interceptor_writev' type='func-type' binding='global-binding' visibility='default-visibility' alias='writev' is-defined='yes'/>
-    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_fscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_scanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_sscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vfscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vsscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat' is-defined='yes'/>
-    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat64' is-defined='yes'/>
+    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__res_iclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_cov' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_cov_dump' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1116,9 +1116,9 @@
     <elf-symbol name='__sanitizer_unaligned_load16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_unaligned_load32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_unaligned_load64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write2' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_unaligned_store32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write8' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_acquire' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_atomic128_compare_exchange_strong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1208,9 +1208,9 @@
     <elf-symbol name='__tsan_unaligned_read2' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load16' is-defined='yes'/>
     <elf-symbol name='__tsan_unaligned_read4' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load32' is-defined='yes'/>
     <elf-symbol name='__tsan_unaligned_read8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load64' is-defined='yes'/>
-    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store16' is-defined='yes'/>
     <elf-symbol name='__tsan_unaligned_write4' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store32' is-defined='yes'/>
-    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store64' is-defined='yes'/>
     <elf-symbol name='__tsan_vptr_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_vptr_update' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_write1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1219,53 +1219,53 @@
     <elf-symbol name='__tsan_write4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_write8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_write_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xpg_strerror_r' is-defined='yes'/>
+    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__xstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xstat64' is-defined='yes'/>
-    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor__exit' is-defined='yes'/>
+    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_abort' is-defined='yes'/>
+    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='accept' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='accept4' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='asctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_asctime_r' is-defined='yes'/>
+    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='backtrace' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='backtrace_symbols' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_bind' is-defined='yes'/>
-    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_calloc' is-defined='yes'/>
-    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_canonicalize_file_name' is-defined='yes'/>
-    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_cfree' is-defined='yes'/>
+    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='clock_getres' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_gettime' is-defined='yes'/>
-    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_settime' is-defined='yes'/>
-    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_close' is-defined='yes'/>
-    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_confstr' is-defined='yes'/>
-    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_connect' is-defined='yes'/>
+    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='creat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='creat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime' is-defined='yes'/>
-    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime_r' is-defined='yes'/>
+    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='dlclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='dlopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_drand48_r' is-defined='yes'/>
-    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup' is-defined='yes'/>
-    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup2' is-defined='yes'/>
+    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='dup3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='epoll_create' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_create1' is-defined='yes'/>
-    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_ctl' is-defined='yes'/>
-    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_wait' is-defined='yes'/>
+    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='ether_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_aton_r' is-defined='yes'/>
-    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_hostton' is-defined='yes'/>
-    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_line' is-defined='yes'/>
+    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='ether_ntoa' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntoa_r' is-defined='yes'/>
-    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntohost' is-defined='yes'/>
-    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_eventfd' is-defined='yes'/>
+    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fflush' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1274,209 +1274,209 @@
     <elf-symbol name='free' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='freopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='frexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_frexpf' is-defined='yes'/>
+    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='frexpl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstatfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatfs64' is-defined='yes'/>
+    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstatvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatvfs64' is-defined='yes'/>
-    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fwrite' is-defined='yes'/>
-    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_get_current_dir_name' is-defined='yes'/>
+    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getaddrinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getcwd' is-defined='yes'/>
+    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getdelim' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getgroups' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostbyaddr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyaddr_r' is-defined='yes'/>
-    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname' is-defined='yes'/>
+    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostbyname2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostbyname2_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname_r' is-defined='yes'/>
+    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getitimer' is-defined='yes'/>
-    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getline' is-defined='yes'/>
+    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getmntent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getmntent_r' is-defined='yes'/>
-    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getpeername' is-defined='yes'/>
+    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getsockname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getsockopt' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gettimeofday' is-defined='yes'/>
-    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gmtime' is-defined='yes'/>
+    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gmtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_iconv' is-defined='yes'/>
-    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inet_aton' is-defined='yes'/>
+    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='inet_ntop' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='inet_pton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_initgroups' is-defined='yes'/>
+    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='inotify_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inotify_init1' is-defined='yes'/>
-    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ioctl' is-defined='yes'/>
+    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma' is-defined='yes'/>
-    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma_r' is-defined='yes'/>
+    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lgammaf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lgammaf_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgammal' is-defined='yes'/>
+    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lgammal_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='listen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='localtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_localtime_r' is-defined='yes'/>
-    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_longjmp' is-defined='yes'/>
+    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lrand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lstat64' is-defined='yes'/>
-    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc' is-defined='yes'/>
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc_usable_size' is-defined='yes'/>
-    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsnrtowcs' is-defined='yes'/>
-    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsrtowcs' is-defined='yes'/>
-    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbstowcs' is-defined='yes'/>
+    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memcmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memcpy' is-defined='yes'/>
-    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memmove' is-defined='yes'/>
+    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlock' is-defined='yes'/>
-    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlockall' is-defined='yes'/>
-    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mmap' is-defined='yes'/>
+    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mmap64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='modf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modff' is-defined='yes'/>
-    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modfl' is-defined='yes'/>
-    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_munlock' is-defined='yes'/>
+    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='munlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='munmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_nanosleep' is-defined='yes'/>
+    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='on_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_open' is-defined='yes'/>
+    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='open64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='opendir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pipe' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pipe2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_poll' is-defined='yes'/>
+    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='posix_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ppoll' is-defined='yes'/>
-    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_prctl' is-defined='yes'/>
+    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pread' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pread64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv' is-defined='yes'/>
-    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv64' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getaffinity_np' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getdetachstate' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getguardsize' is-defined='yes'/>
+    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_attr_getinheritsched' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_attr_getschedparam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getschedpolicy' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getscope' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getstack' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_attr_getstacksize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_barrier_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_barrier_init' is-defined='yes'/>
+    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_barrier_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_broadcast' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_cond_signal' is-defined='yes'/>
+    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_create' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_detach' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_getschedparam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_join' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_kill' is-defined='yes'/>
+    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_mutex_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_init' is-defined='yes'/>
-    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_mutex_timedlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_trylock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_mutex_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_once' is-defined='yes'/>
+    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_rdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_timedrdlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_timedwrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_tryrdlock' is-defined='yes'/>
-    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_trywrlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_wrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_setname_np' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_spin_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_init' is-defined='yes'/>
-    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_spin_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_spin_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='ptrace' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='puts' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pvalloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite' is-defined='yes'/>
-    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite64' is-defined='yes'/>
-    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev' is-defined='yes'/>
-    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev64' is-defined='yes'/>
+    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='raise' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='random_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_read' is-defined='yes'/>
+    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='readdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='readdir64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='readdir64_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readdir_r' is-defined='yes'/>
-    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readv' is-defined='yes'/>
-    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realloc' is-defined='yes'/>
-    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realpath' is-defined='yes'/>
-    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_recv' is-defined='yes'/>
+    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='recvmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquo' is-defined='yes'/>
-    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquof' is-defined='yes'/>
-    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquol' is-defined='yes'/>
-    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_rmdir' is-defined='yes'/>
+    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='scandir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='scandir64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_scanf' is-defined='yes'/>
-    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sched_getaffinity' is-defined='yes'/>
-    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_destroy' is-defined='yes'/>
+    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_getvalue' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_init' is-defined='yes'/>
+    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_post' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_timedwait' is-defined='yes'/>
+    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_trywait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_send' is-defined='yes'/>
+    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sendmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='setitimer' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='setlocale' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='shmctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigaction' is-defined='yes'/>
+    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigemptyset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigfillset' is-defined='yes'/>
+    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='siglongjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_signalfd' is-defined='yes'/>
-    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigpending' is-defined='yes'/>
+    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigprocmask' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigsuspend' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigtimedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigwaitinfo' is-defined='yes'/>
-    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sincos' is-defined='yes'/>
+    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sincosf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sincosl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sleep' is-defined='yes'/>
+    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='socket' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='socketpair' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sscanf' is-defined='yes'/>
-    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_stat' is-defined='yes'/>
+    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='stat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='statfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='statfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='statvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_statvfs64' is-defined='yes'/>
+    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strcasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strchrnul' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1484,40 +1484,40 @@
     <elf-symbol name='strcpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strdup' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strerror' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strerror_r' is-defined='yes'/>
+    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strlen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncasecmp' is-defined='yes'/>
+    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strncmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncpy' is-defined='yes'/>
+    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strptime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strrchr' is-defined='yes'/>
+    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoimax' is-defined='yes'/>
-    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoumax' is-defined='yes'/>
-    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sysinfo' is-defined='yes'/>
+    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='tcgetattr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tempnam' is-defined='yes'/>
-    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_textdomain' is-defined='yes'/>
-    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_time' is-defined='yes'/>
+    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='times' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam' is-defined='yes'/>
-    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam_r' is-defined='yes'/>
-    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_unlink' is-defined='yes'/>
+    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='usleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='valloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vfscanf' is-defined='yes'/>
-    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vscanf' is-defined='yes'/>
+    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait3' is-defined='yes'/>
-    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait4' is-defined='yes'/>
-    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_waitid' is-defined='yes'/>
+    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='waitpid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wcsnrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wcsrtombs' is-defined='yes'/>
+    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wcstombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wordexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_write' is-defined='yes'/>
+    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='writev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <elf-variable-symbols>
@@ -7414,17 +7414,17 @@
     <namespace-decl name='std'>
       <class-decl name='nothrow_t' size-in-bits='8' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='108' column='1' id='type-id-1009'/>
     </namespace-decl>
-    <function-decl name='__interceptor_mlock' mangled-name='mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlock'>
+    <function-decl name='__interceptor_mlock' mangled-name='__interceptor_mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlock'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <parameter type-id='type-id-83' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_munlock' mangled-name='munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='munlock'>
+    <function-decl name='__interceptor_munlock' mangled-name='__interceptor_munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_munlock'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <parameter type-id='type-id-83' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_mlockall' mangled-name='mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlockall'>
+    <function-decl name='__interceptor_mlockall' mangled-name='__interceptor_mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlockall'>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -10937,7 +10937,7 @@
       <parameter type-id='type-id-1' name='tms' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2896' column='1'/>
       <return type-id='type-id-1205'/>
     </function-decl>
-    <function-decl name='__interceptor_iconv' mangled-name='iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iconv'>
+    <function-decl name='__interceptor_iconv' mangled-name='__interceptor_iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_iconv'>
       <parameter type-id='type-id-1' name='cd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
       <parameter type-id='type-id-110' name='inbuf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
       <parameter type-id='type-id-884' name='inbytesleft' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
@@ -10952,7 +10952,7 @@
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2851' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_getline' mangled-name='getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getline'>
+    <function-decl name='__interceptor_getline' mangled-name='__interceptor_getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getline'>
       <parameter type-id='type-id-110' name='lineptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
       <parameter type-id='type-id-884' name='n' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
@@ -10963,7 +10963,7 @@
       <parameter type-id='type-id-1134' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2825' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_drand48_r' mangled-name='drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drand48_r'>
+    <function-decl name='__interceptor_drand48_r' mangled-name='__interceptor_drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_drand48_r'>
       <parameter type-id='type-id-1' name='buffer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
       <parameter type-id='type-id-1023' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
       <return type-id='type-id-5'/>
@@ -10978,12 +10978,12 @@
       <parameter type-id='type-id-30' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <return type-id='type-id-323'/>
     </function-decl>
-    <function-decl name='__interceptor_lgamma_r' mangled-name='lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma_r'>
+    <function-decl name='__interceptor_lgamma_r' mangled-name='__interceptor_lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma_r'>
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <parameter type-id='type-id-30' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <return type-id='type-id-322'/>
     </function-decl>
-    <function-decl name='__interceptor_lgammal' mangled-name='lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgammal'>
+    <function-decl name='__interceptor_lgammal' mangled-name='__interceptor_lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgammal'>
       <parameter type-id='type-id-327' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1'/>
       <return type-id='type-id-327'/>
     </function-decl>
@@ -10991,23 +10991,23 @@
       <parameter type-id='type-id-323' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2765' column='1'/>
       <return type-id='type-id-323'/>
     </function-decl>
-    <function-decl name='__interceptor_lgamma' mangled-name='lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma'>
+    <function-decl name='__interceptor_lgamma' mangled-name='__interceptor_lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma'>
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1'/>
       <return type-id='type-id-322'/>
     </function-decl>
-    <function-decl name='__interceptor_remquol' mangled-name='remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquol'>
+    <function-decl name='__interceptor_remquol' mangled-name='__interceptor_remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquol'>
       <parameter type-id='type-id-327' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <parameter type-id='type-id-327' name='y' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <parameter type-id='type-id-30' name='quo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <return type-id='type-id-327'/>
     </function-decl>
-    <function-decl name='__interceptor_remquof' mangled-name='remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquof'>
+    <function-decl name='__interceptor_remquof' mangled-name='__interceptor_remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquof'>
       <parameter type-id='type-id-323' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <parameter type-id='type-id-323' name='y' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <parameter type-id='type-id-30' name='quo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <return type-id='type-id-323'/>
     </function-decl>
-    <function-decl name='__interceptor_remquo' mangled-name='remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquo'>
+    <function-decl name='__interceptor_remquo' mangled-name='__interceptor_remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquo'>
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
       <parameter type-id='type-id-322' name='y' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
       <parameter type-id='type-id-30' name='quo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
@@ -11025,7 +11025,7 @@
       <parameter type-id='type-id-1028' name='cos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2704' column='1'/>
       <return type-id='type-id-26'/>
     </function-decl>
-    <function-decl name='__interceptor_sincos' mangled-name='sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sincos'>
+    <function-decl name='__interceptor_sincos' mangled-name='__interceptor_sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sincos'>
       <parameter type-id='type-id-322' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
       <parameter type-id='type-id-1023' name='sin' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
       <parameter type-id='type-id-1023' name='cos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
@@ -11036,20 +11036,20 @@
       <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2685' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_tempnam' mangled-name='tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tempnam'>
+    <function-decl name='__interceptor_tempnam' mangled-name='__interceptor_tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tempnam'>
       <parameter type-id='type-id-25' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
       <parameter type-id='type-id-25' name='pfx' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_tmpnam_r' mangled-name='tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam_r'>
+    <function-decl name='__interceptor_tmpnam_r' mangled-name='__interceptor_tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam_r'>
       <parameter type-id='type-id-25' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_tmpnam' mangled-name='tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam'>
+    <function-decl name='__interceptor_tmpnam' mangled-name='__interceptor_tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam'>
       <parameter type-id='type-id-25' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getaffinity_np'>
+    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='__interceptor_pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getaffinity_np'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
       <parameter type-id='type-id-367' name='cpusetsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
       <parameter type-id='type-id-1' name='cpuset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
@@ -11060,7 +11060,7 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getstack'>
+    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='__interceptor_pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getstack'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
       <parameter type-id='type-id-199' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
       <parameter type-id='type-id-884' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
@@ -11071,12 +11071,12 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getscope'>
+    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='__interceptor_pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getscope'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getschedpolicy'>
+    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='__interceptor_pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getschedpolicy'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
@@ -11086,12 +11086,12 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getguardsize'>
+    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='__interceptor_pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getguardsize'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getdetachstate'>
+    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='__interceptor_pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getdetachstate'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
@@ -11107,28 +11107,28 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2527' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_aton_r' mangled-name='ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_aton_r'>
+    <function-decl name='__interceptor_ether_aton_r' mangled-name='__interceptor_ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_aton_r'>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
       <parameter type-id='type-id-924' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
       <return type-id='type-id-924'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntoa_r'>
+    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='__interceptor_ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntoa_r'>
       <parameter type-id='type-id-924' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_line' mangled-name='ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_line'>
+    <function-decl name='__interceptor_ether_line' mangled-name='__interceptor_ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_line'>
       <parameter type-id='type-id-25' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <parameter type-id='type-id-924' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <parameter type-id='type-id-25' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_hostton' mangled-name='ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_hostton'>
+    <function-decl name='__interceptor_ether_hostton' mangled-name='__interceptor_ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_hostton'>
       <parameter type-id='type-id-25' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <parameter type-id='type-id-924' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_ntohost' mangled-name='ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntohost'>
+    <function-decl name='__interceptor_ether_ntohost' mangled-name='__interceptor_ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntohost'>
       <parameter type-id='type-id-25' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <parameter type-id='type-id-924' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <return type-id='type-id-5'/>
@@ -11141,17 +11141,17 @@
       <parameter type-id='type-id-924' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2444' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_initgroups' mangled-name='initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initgroups'>
+    <function-decl name='__interceptor_initgroups' mangled-name='__interceptor_initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_initgroups'>
       <parameter type-id='type-id-25' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
       <parameter type-id='type-id-170' name='group' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_fstatvfs64' mangled-name='fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatvfs64'>
+    <function-decl name='__interceptor_fstatvfs64' mangled-name='__interceptor_fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatvfs64'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_statvfs64' mangled-name='statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='statvfs64'>
+    <function-decl name='__interceptor_statvfs64' mangled-name='__interceptor_statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_statvfs64'>
       <parameter type-id='type-id-25' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <return type-id='type-id-5'/>
@@ -11166,7 +11166,7 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_fstatfs64' mangled-name='fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatfs64'>
+    <function-decl name='__interceptor_fstatfs64' mangled-name='__interceptor_fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatfs64'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <return type-id='type-id-5'/>
@@ -11186,7 +11186,7 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_getmntent_r' mangled-name='getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getmntent_r'>
+    <function-decl name='__interceptor_getmntent_r' mangled-name='__interceptor_getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getmntent_r'>
       <parameter type-id='type-id-1' name='fp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
       <parameter type-id='type-id-942' name='mntbuf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
@@ -11201,7 +11201,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_cond_signal'>
+    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='__interceptor_pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_cond_signal'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -11219,11 +11219,11 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_lock'>
+    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='__interceptor_pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_lock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor__exit' mangled-name='_exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_exit'>
+    <function-decl name='__interceptor__exit' mangled-name='__interceptor__exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor__exit'>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-26'/>
     </function-decl>
@@ -11243,11 +11243,11 @@
       <parameter type-id='type-id-951' name='oldset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2161' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sigpending' mangled-name='sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigpending'>
+    <function-decl name='__interceptor_sigpending' mangled-name='__interceptor_sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigpending'>
       <parameter type-id='type-id-951' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sigfillset' mangled-name='sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigfillset'>
+    <function-decl name='__interceptor_sigfillset' mangled-name='__interceptor_sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigfillset'>
       <parameter type-id='type-id-951' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -11261,7 +11261,7 @@
       <parameter type-id='type-id-1' name='timeout' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2109' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sigwaitinfo' mangled-name='sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigwaitinfo'>
+    <function-decl name='__interceptor_sigwaitinfo' mangled-name='__interceptor_sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigwaitinfo'>
       <parameter type-id='type-id-951' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
       <parameter type-id='type-id-1' name='info' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
       <return type-id='type-id-5'/>
@@ -11277,14 +11277,14 @@
       <parameter type-id='type-id-5' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2058' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_ppoll' mangled-name='ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ppoll'>
+    <function-decl name='__interceptor_ppoll' mangled-name='__interceptor_ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ppoll'>
       <parameter type-id='type-id-950' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <parameter type-id='type-id-1206' name='nfds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <parameter type-id='type-id-1' name='timeout_ts' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <parameter type-id='type-id-951' name='sigmask' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_poll' mangled-name='poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='poll'>
+    <function-decl name='__interceptor_poll' mangled-name='__interceptor_poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_poll'>
       <parameter type-id='type-id-950' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
       <parameter type-id='type-id-1206' name='nfds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
       <parameter type-id='type-id-5' name='timeout' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
@@ -11309,13 +11309,13 @@
       <parameter type-id='type-id-377' name='compar' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1913' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xpg_strerror_r'>
+    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__interceptor___xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xpg_strerror_r'>
       <parameter type-id='type-id-5' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <parameter type-id='type-id-367' name='buflen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_strerror_r' mangled-name='strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strerror_r'>
+    <function-decl name='__interceptor_strerror_r' mangled-name='__interceptor_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strerror_r'>
       <parameter type-id='type-id-5' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
       <parameter type-id='type-id-367' name='buflen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
@@ -11325,19 +11325,19 @@
       <parameter type-id='type-id-5' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sched_getaffinity' mangled-name='sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_getaffinity'>
+    <function-decl name='__interceptor_sched_getaffinity' mangled-name='__interceptor_sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sched_getaffinity'>
       <parameter type-id='type-id-5' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <parameter type-id='type-id-367' name='cpusetsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <parameter type-id='type-id-1' name='mask' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_confstr' mangled-name='confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='confstr'>
+    <function-decl name='__interceptor_confstr' mangled-name='__interceptor_confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_confstr'>
       <parameter type-id='type-id-5' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <parameter type-id='type-id-367' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <return type-id='type-id-367'/>
     </function-decl>
-    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='canonicalize_file_name'>
+    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='__interceptor_canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_canonicalize_file_name'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -11354,7 +11354,7 @@
       <parameter type-id='type-id-1' name='ps' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1729' column='1'/>
       <return type-id='type-id-367'/>
     </function-decl>
-    <function-decl name='__interceptor_wcsrtombs' mangled-name='wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wcsrtombs'>
+    <function-decl name='__interceptor_wcsrtombs' mangled-name='__interceptor_wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wcsrtombs'>
       <parameter type-id='type-id-25' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
       <parameter type-id='type-id-1018' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
       <parameter type-id='type-id-367' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
@@ -11367,7 +11367,7 @@
       <parameter type-id='type-id-367' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1696' column='1'/>
       <return type-id='type-id-367'/>
     </function-decl>
-    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsnrtowcs'>
+    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='__interceptor_mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsnrtowcs'>
       <parameter type-id='type-id-1193' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <parameter type-id='type-id-308' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <parameter type-id='type-id-367' name='nms' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
@@ -11375,36 +11375,36 @@
       <parameter type-id='type-id-1' name='ps' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <return type-id='type-id-367'/>
     </function-decl>
-    <function-decl name='__interceptor_mbsrtowcs' mangled-name='mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsrtowcs'>
+    <function-decl name='__interceptor_mbsrtowcs' mangled-name='__interceptor_mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsrtowcs'>
       <parameter type-id='type-id-1193' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <parameter type-id='type-id-308' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <parameter type-id='type-id-367' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <parameter type-id='type-id-1' name='ps' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <return type-id='type-id-367'/>
     </function-decl>
-    <function-decl name='__interceptor_mbstowcs' mangled-name='mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbstowcs'>
+    <function-decl name='__interceptor_mbstowcs' mangled-name='__interceptor_mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbstowcs'>
       <parameter type-id='type-id-1193' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <parameter type-id='type-id-367' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <return type-id='type-id-367'/>
     </function-decl>
-    <function-decl name='__interceptor_strtoumax' mangled-name='strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoumax'>
+    <function-decl name='__interceptor_strtoumax' mangled-name='__interceptor_strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoumax'>
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-110' name='endptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-5' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <return type-id='type-id-378'/>
     </function-decl>
-    <function-decl name='__interceptor_strtoimax' mangled-name='strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoimax'>
+    <function-decl name='__interceptor_strtoimax' mangled-name='__interceptor_strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoimax'>
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-110' name='endptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-5' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <return type-id='type-id-378'/>
     </function-decl>
-    <function-decl name='__interceptor_get_current_dir_name' mangled-name='get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_current_dir_name'>
+    <function-decl name='__interceptor_get_current_dir_name' mangled-name='__interceptor_get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_get_current_dir_name'>
       <parameter type-id='type-id-5' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_getcwd' mangled-name='getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getcwd'>
+    <function-decl name='__interceptor_getcwd' mangled-name='__interceptor_getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getcwd'>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
       <parameter type-id='type-id-367' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
       <return type-id='type-id-25'/>
@@ -11431,7 +11431,7 @@
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1496' column='1'/>
       <return type-id='type-id-919'/>
     </function-decl>
-    <function-decl name='__interceptor_readdir_r' mangled-name='readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readdir_r'>
+    <function-decl name='__interceptor_readdir_r' mangled-name='__interceptor_readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readdir_r'>
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
       <parameter type-id='type-id-914' name='entry' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
       <parameter type-id='type-id-916' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
@@ -11441,11 +11441,11 @@
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1467' column='1'/>
       <return type-id='type-id-914'/>
     </function-decl>
-    <function-decl name='__interceptor_sysinfo' mangled-name='sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysinfo'>
+    <function-decl name='__interceptor_sysinfo' mangled-name='__interceptor_sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sysinfo'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_getpeername' mangled-name='getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getpeername'>
+    <function-decl name='__interceptor_getpeername' mangled-name='__interceptor_getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getpeername'>
       <parameter type-id='type-id-5' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
       <parameter type-id='type-id-135' name='addrlen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
@@ -11457,12 +11457,12 @@
       <parameter type-id='type-id-5' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1417' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_modfl' mangled-name='modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modfl'>
+    <function-decl name='__interceptor_modfl' mangled-name='__interceptor_modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modfl'>
       <parameter type-id='type-id-327' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1'/>
       <parameter type-id='type-id-1133' name='iptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1'/>
       <return type-id='type-id-327'/>
     </function-decl>
-    <function-decl name='__interceptor_modff' mangled-name='modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modff'>
+    <function-decl name='__interceptor_modff' mangled-name='__interceptor_modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modff'>
       <parameter type-id='type-id-323' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1'/>
       <parameter type-id='type-id-1028' name='iptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1'/>
       <return type-id='type-id-323'/>
@@ -11503,7 +11503,7 @@
       <parameter type-id='type-id-30' name='h_errnop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1279' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_gethostbyname_r' mangled-name='gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname_r'>
+    <function-decl name='__interceptor_gethostbyname_r' mangled-name='__interceptor_gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname_r'>
       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <parameter type-id='type-id-928' name='ret' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <parameter type-id='type-id-25' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
@@ -11512,7 +11512,7 @@
       <parameter type-id='type-id-30' name='h_errnop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyaddr_r'>
+    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='__interceptor_gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyaddr_r'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
       <parameter type-id='type-id-5' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
       <parameter type-id='type-id-5' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
@@ -11546,7 +11546,7 @@
       <parameter type-id='type-id-5' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1189' column='1'/>
       <return type-id='type-id-928'/>
     </function-decl>
-    <function-decl name='__interceptor_gethostbyname' mangled-name='gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname'>
+    <function-decl name='__interceptor_gethostbyname' mangled-name='__interceptor_gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname'>
       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
       <return type-id='type-id-928'/>
     </function-decl>
@@ -11562,7 +11562,7 @@
       <parameter type-id='type-id-30' name='param' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1070' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_inet_aton' mangled-name='inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_aton'>
+    <function-decl name='__interceptor_inet_aton' mangled-name='__interceptor_inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inet_aton'>
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-5'/>
@@ -11580,14 +11580,14 @@
       <parameter type-id='type-id-170' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1024' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_wait4' mangled-name='wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait4'>
+    <function-decl name='__interceptor_wait4' mangled-name='__interceptor_wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait4'>
       <parameter type-id='type-id-5' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <parameter type-id='type-id-30' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <parameter type-id='type-id-5' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <parameter type-id='type-id-1' name='rusage' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_wait3' mangled-name='wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait3'>
+    <function-decl name='__interceptor_wait3' mangled-name='__interceptor_wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait3'>
       <parameter type-id='type-id-30' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
       <parameter type-id='type-id-5' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
       <parameter type-id='type-id-1' name='rusage' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
@@ -11599,7 +11599,7 @@
       <parameter type-id='type-id-5' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='985' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_waitid' mangled-name='waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='waitid'>
+    <function-decl name='__interceptor_waitid' mangled-name='__interceptor_waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_waitid'>
       <parameter type-id='type-id-5' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
       <parameter type-id='type-id-5' name='id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
       <parameter type-id='type-id-1' name='infop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
@@ -11616,17 +11616,17 @@
       <parameter type-id='type-id-1' name='old_value' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='832' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_getitimer' mangled-name='getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getitimer'>
+    <function-decl name='__interceptor_getitimer' mangled-name='__interceptor_getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getitimer'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_clock_settime' mangled-name='clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_settime'>
+    <function-decl name='__interceptor_clock_settime' mangled-name='__interceptor_clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_settime'>
       <parameter type-id='type-id-170' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_clock_gettime' mangled-name='clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_gettime'>
+    <function-decl name='__interceptor_clock_gettime' mangled-name='__interceptor_clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_gettime'>
       <parameter type-id='type-id-170' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <return type-id='type-id-5'/>
@@ -11636,47 +11636,47 @@
       <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_ioctl' mangled-name='ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ioctl'>
+    <function-decl name='__interceptor_ioctl' mangled-name='__interceptor_ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ioctl'>
       <parameter type-id='type-id-5' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <parameter type-id='type-id-129' name='request' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <parameter type-id='type-id-1' name='arg' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vfscanf'>
+    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__interceptor___isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vfscanf'>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-210' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_fscanf'>
+    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__interceptor___isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_fscanf'>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vsscanf'>
+    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__interceptor___isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vsscanf'>
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <parameter type-id='type-id-210' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_sscanf'>
+    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__interceptor___isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_sscanf'>
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vscanf'>
+    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__interceptor___isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vscanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <parameter type-id='type-id-210' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_scanf'>
+    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__interceptor___isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_scanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_vfscanf' mangled-name='vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfscanf'>
+    <function-decl name='__interceptor_vfscanf' mangled-name='__interceptor_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vfscanf'>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-210' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
@@ -11694,18 +11694,18 @@
       <parameter type-id='type-id-210' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sscanf' mangled-name='sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
+    <function-decl name='__interceptor_sscanf' mangled-name='__interceptor_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sscanf'>
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_vscanf' mangled-name='vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vscanf'>
+    <function-decl name='__interceptor_vscanf' mangled-name='__interceptor_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vscanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <parameter type-id='type-id-210' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_scanf' mangled-name='scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scanf'>
+    <function-decl name='__interceptor_scanf' mangled-name='__interceptor_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_scanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-5'/>
@@ -11716,7 +11716,7 @@
       <parameter type-id='type-id-953' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='550' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_asctime_r' mangled-name='asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='asctime_r'>
+    <function-decl name='__interceptor_asctime_r' mangled-name='__interceptor_asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_asctime_r'>
       <parameter type-id='type-id-953' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
       <parameter type-id='type-id-25' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
       <return type-id='type-id-25'/>
@@ -11725,12 +11725,12 @@
       <parameter type-id='type-id-953' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='516' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ctime_r' mangled-name='ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime_r'>
+    <function-decl name='__interceptor_ctime_r' mangled-name='__interceptor_ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime_r'>
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
       <parameter type-id='type-id-25' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ctime' mangled-name='ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime'>
+    <function-decl name='__interceptor_ctime' mangled-name='__interceptor_ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime'>
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -11739,11 +11739,11 @@
       <parameter type-id='type-id-1' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <return type-id='type-id-953'/>
     </function-decl>
-    <function-decl name='__interceptor_gmtime' mangled-name='gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gmtime'>
+    <function-decl name='__interceptor_gmtime' mangled-name='__interceptor_gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gmtime'>
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1'/>
       <return type-id='type-id-953'/>
     </function-decl>
-    <function-decl name='__interceptor_localtime_r' mangled-name='localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='localtime_r'>
+    <function-decl name='__interceptor_localtime_r' mangled-name='__interceptor_localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_localtime_r'>
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <parameter type-id='type-id-1' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <return type-id='type-id-953'/>
@@ -11752,11 +11752,11 @@
       <parameter type-id='type-id-105' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1'/>
       <return type-id='type-id-953'/>
     </function-decl>
-    <function-decl name='__interceptor_time' mangled-name='time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='time'>
+    <function-decl name='__interceptor_time' mangled-name='__interceptor_time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_time'>
       <parameter type-id='type-id-105' name='t' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1'/>
       <return type-id='type-id-102'/>
     </function-decl>
-    <function-decl name='__interceptor_prctl' mangled-name='prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prctl'>
+    <function-decl name='__interceptor_prctl' mangled-name='__interceptor_prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_prctl'>
       <parameter type-id='type-id-5' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <parameter type-id='type-id-102' name='arg2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <parameter type-id='type-id-102' name='arg3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
@@ -11764,14 +11764,14 @@
       <parameter type-id='type-id-102' name='arg5' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pwritev64' mangled-name='pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev64'>
+    <function-decl name='__interceptor_pwritev64' mangled-name='__interceptor_pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev64'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-940' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-5' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-380' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_pwritev' mangled-name='pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev'>
+    <function-decl name='__interceptor_pwritev' mangled-name='__interceptor_pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-940' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-5' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
@@ -11784,41 +11784,41 @@
       <parameter type-id='type-id-5' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_pwrite64' mangled-name='pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite64'>
+    <function-decl name='__interceptor_pwrite64' mangled-name='__interceptor_pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite64'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <parameter type-id='type-id-380' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <parameter type-id='type-id-380' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_pwrite' mangled-name='pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite'>
+    <function-decl name='__interceptor_pwrite' mangled-name='__interceptor_pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <parameter type-id='type-id-367' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <parameter type-id='type-id-381' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_write' mangled-name='write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='write'>
+    <function-decl name='__interceptor_write' mangled-name='__interceptor_write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_write'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-367' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_preadv64' mangled-name='preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv64'>
+    <function-decl name='__interceptor_preadv64' mangled-name='__interceptor_preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv64'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-940' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-5' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-380' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_preadv' mangled-name='preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv'>
+    <function-decl name='__interceptor_preadv' mangled-name='__interceptor_preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-940' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-5' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-381' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_readv' mangled-name='readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readv'>
+    <function-decl name='__interceptor_readv' mangled-name='__interceptor_readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readv'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <parameter type-id='type-id-940' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <parameter type-id='type-id-5' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
@@ -11838,7 +11838,7 @@
       <parameter type-id='type-id-381' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <return type-id='type-id-369'/>
     </function-decl>
-    <function-decl name='__interceptor_read' mangled-name='read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='read'>
+    <function-decl name='__interceptor_read' mangled-name='__interceptor_read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_read'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-367' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
@@ -11849,7 +11849,7 @@
       <parameter type-id='type-id-30' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2802' column='1'/>
       <return type-id='type-id-327'/>
     </function-decl>
-    <function-decl name='__interceptor_frexpf' mangled-name='frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='frexpf'>
+    <function-decl name='__interceptor_frexpf' mangled-name='__interceptor_frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_frexpf'>
       <parameter type-id='type-id-323' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <parameter type-id='type-id-30' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <return type-id='type-id-323'/>
@@ -11859,7 +11859,7 @@
       <parameter type-id='type-id-30' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <return type-id='type-id-322'/>
     </function-decl>
-    <function-decl name='__interceptor_strncasecmp' mangled-name='strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncasecmp'>
+    <function-decl name='__interceptor_strncasecmp' mangled-name='__interceptor_strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncasecmp'>
       <parameter type-id='type-id-2' name='s1' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
       <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
       <parameter type-id='type-id-367' name='n' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
@@ -11881,7 +11881,7 @@
       <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='126' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_textdomain' mangled-name='textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='textdomain'>
+    <function-decl name='__interceptor_textdomain' mangled-name='__interceptor_textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_textdomain'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -11896,12 +11896,12 @@
       <parameter type-id='type-id-1' name='rv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1765' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_gettimeofday' mangled-name='gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gettimeofday'>
+    <function-decl name='__interceptor_gettimeofday' mangled-name='__interceptor_gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gettimeofday'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_kill' mangled-name='pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_kill'>
+    <function-decl name='__interceptor_pthread_kill' mangled-name='__interceptor_pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_kill'>
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <parameter type-id='type-id-5' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <return type-id='type-id-5'/>
@@ -11919,7 +11919,7 @@
       <parameter type-id='type-id-1003' name='mask' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1710' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sigaction' mangled-name='sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigaction'>
+    <function-decl name='__interceptor_sigaction' mangled-name='__interceptor_sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigaction'>
       <parameter type-id='type-id-5' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
       <parameter type-id='type-id-1139' name='act' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
       <parameter type-id='type-id-1139' name='old' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
@@ -11930,14 +11930,14 @@
       <parameter type-id='type-id-384' name='h' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1698' column='1'/>
       <return type-id='type-id-384'/>
     </function-decl>
-    <function-decl name='__interceptor_epoll_wait' mangled-name='epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_wait'>
+    <function-decl name='__interceptor_epoll_wait' mangled-name='__interceptor_epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_wait'>
       <parameter type-id='type-id-5' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <parameter type-id='type-id-1' name='ev' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <parameter type-id='type-id-5' name='cnt' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <parameter type-id='type-id-5' name='timeout' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_epoll_ctl' mangled-name='epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_ctl'>
+    <function-decl name='__interceptor_epoll_ctl' mangled-name='__interceptor_epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_ctl'>
       <parameter type-id='type-id-5' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
       <parameter type-id='type-id-5' name='op' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
@@ -11948,7 +11948,7 @@
       <parameter type-id='type-id-25' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1599' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_rmdir' mangled-name='rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdir'>
+    <function-decl name='__interceptor_rmdir' mangled-name='__interceptor_rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_rmdir'>
       <parameter type-id='type-id-25' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -11956,7 +11956,7 @@
       <parameter type-id='type-id-2' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1586' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_abort' mangled-name='abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='abort'>
+    <function-decl name='__interceptor_abort' mangled-name='__interceptor_abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_abort'>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-26'/>
     </function-decl>
@@ -11964,7 +11964,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_fwrite' mangled-name='fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwrite'>
+    <function-decl name='__interceptor_fwrite' mangled-name='__interceptor_fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fwrite'>
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
       <parameter type-id='type-id-83' name='size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
       <parameter type-id='type-id-83' name='nmemb' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
@@ -11993,11 +11993,11 @@
       <parameter type-id='type-id-25' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1512' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_unlink' mangled-name='unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unlink'>
+    <function-decl name='__interceptor_unlink' mangled-name='__interceptor_unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_unlink'>
       <parameter type-id='type-id-25' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_recv' mangled-name='recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='recv'>
+    <function-decl name='__interceptor_recv' mangled-name='__interceptor_recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_recv'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-387' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
@@ -12010,7 +12010,7 @@
       <parameter type-id='type-id-5' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1484' column='1'/>
       <return type-id='type-id-387'/>
     </function-decl>
-    <function-decl name='__interceptor_send' mangled-name='send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send'>
+    <function-decl name='__interceptor_send' mangled-name='__interceptor_send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_send'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-387' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
@@ -12035,11 +12035,11 @@
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_close' mangled-name='close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='close'>
+    <function-decl name='__interceptor_close' mangled-name='__interceptor_close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_close'>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_epoll_create1' mangled-name='epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_create1'>
+    <function-decl name='__interceptor_epoll_create1' mangled-name='__interceptor_epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_create1'>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -12052,13 +12052,13 @@
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_bind' mangled-name='bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bind'>
+    <function-decl name='__interceptor_bind' mangled-name='__interceptor_bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_bind'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-129' name='addrlen' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_connect' mangled-name='connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='connect'>
+    <function-decl name='__interceptor_connect' mangled-name='__interceptor_connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_connect'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-129' name='addrlen' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
@@ -12077,7 +12077,7 @@
       <parameter type-id='type-id-5' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_inotify_init1' mangled-name='inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inotify_init1'>
+    <function-decl name='__interceptor_inotify_init1' mangled-name='__interceptor_inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inotify_init1'>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -12085,13 +12085,13 @@
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_signalfd' mangled-name='signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='signalfd'>
+    <function-decl name='__interceptor_signalfd' mangled-name='__interceptor_signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_signalfd'>
       <parameter type-id='type-id-5' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <parameter type-id='type-id-1' name='mask' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <parameter type-id='type-id-5' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_eventfd' mangled-name='eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eventfd'>
+    <function-decl name='__interceptor_eventfd' mangled-name='__interceptor_eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_eventfd'>
       <parameter type-id='type-id-129' name='initval' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
       <parameter type-id='type-id-5' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
       <return type-id='type-id-5'/>
@@ -12102,12 +12102,12 @@
       <parameter type-id='type-id-5' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_dup2' mangled-name='dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup2'>
+    <function-decl name='__interceptor_dup2' mangled-name='__interceptor_dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup2'>
       <parameter type-id='type-id-5'/>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_dup' mangled-name='dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup'>
+    <function-decl name='__interceptor_dup' mangled-name='__interceptor_dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup'>
       <parameter type-id='type-id-5'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -12127,7 +12127,7 @@
       <parameter type-id='type-id-5' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_open' mangled-name='open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='open'>
+    <function-decl name='__interceptor_open' mangled-name='__interceptor_open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_open'>
       <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <parameter type-id='type-id-5' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <parameter type-id='type-id-5' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
@@ -12155,12 +12155,12 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2527' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_lstat64' mangled-name='lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lstat64'>
+    <function-decl name='__interceptor_lstat64' mangled-name='__interceptor_lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lstat64'>
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___lxstat64' mangled-name='__lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat64'>
+    <function-decl name='__interceptor___lxstat64' mangled-name='__interceptor___lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat64'>
       <parameter type-id='type-id-5' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
@@ -12171,7 +12171,7 @@
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___lxstat' mangled-name='__lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat'>
+    <function-decl name='__interceptor___lxstat' mangled-name='__interceptor___lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat'>
       <parameter type-id='type-id-5' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
@@ -12182,13 +12182,13 @@
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor___xstat64' mangled-name='__xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xstat64'>
+    <function-decl name='__interceptor___xstat64' mangled-name='__interceptor___xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xstat64'>
       <parameter type-id='type-id-5' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_stat' mangled-name='stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='stat'>
+    <function-decl name='__interceptor_stat' mangled-name='__interceptor_stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_stat'>
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-5'/>
@@ -12208,7 +12208,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sem_timedwait' mangled-name='sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_timedwait'>
+    <function-decl name='__interceptor_sem_timedwait' mangled-name='__interceptor_sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_timedwait'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
@@ -12221,17 +12221,17 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sem_destroy' mangled-name='sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_destroy'>
+    <function-decl name='__interceptor_sem_destroy' mangled-name='__interceptor_sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_destroy'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sem_init' mangled-name='sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_init'>
+    <function-decl name='__interceptor_sem_init' mangled-name='__interceptor_sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_init'>
       <parameter type-id='type-id-1' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <parameter type-id='type-id-5' name='pshared' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <parameter type-id='type-id-129' name='value' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_once' mangled-name='pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_once'>
+    <function-decl name='__interceptor_pthread_once' mangled-name='__interceptor_pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_once'>
       <parameter type-id='type-id-1' name='o' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
       <parameter type-id='type-id-108' name='f' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
       <return type-id='type-id-5'/>
@@ -12244,7 +12244,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_barrier_init'>
+    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='__interceptor_pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_barrier_init'>
       <parameter type-id='type-id-1' name='b' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
       <parameter type-id='type-id-1' name='a' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
       <parameter type-id='type-id-129' name='count' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
@@ -12269,7 +12269,7 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_trywrlock'>
+    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='__interceptor_pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_trywrlock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -12277,12 +12277,12 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_timedrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='__interceptor_pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_timedrdlock'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_tryrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='__interceptor_pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_tryrdlock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -12307,7 +12307,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_lock'>
+    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='__interceptor_pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_lock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -12315,7 +12315,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_spin_init' mangled-name='pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_init'>
+    <function-decl name='__interceptor_pthread_spin_init' mangled-name='__interceptor_pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_init'>
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <parameter type-id='type-id-5' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <return type-id='type-id-5'/>
@@ -12325,7 +12325,7 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_trylock'>
+    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='__interceptor_pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_trylock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
@@ -12333,7 +12333,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_init'>
+    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='__interceptor_pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_init'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
@@ -12399,7 +12399,7 @@
       <parameter type-id='type-id-173' name='off' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='749' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_mmap' mangled-name='mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mmap'>
+    <function-decl name='__interceptor_mmap' mangled-name='__interceptor_mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mmap'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
       <parameter type-id='type-id-387' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
       <parameter type-id='type-id-5' name='prot' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
@@ -12417,7 +12417,7 @@
       <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='705' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='__interceptor_strncpy' mangled-name='strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
+    <function-decl name='__interceptor_strncpy' mangled-name='__interceptor_strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncpy'>
       <parameter type-id='type-id-25' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
       <parameter type-id='type-id-25' name='src' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
       <parameter type-id='type-id-83' name='n' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
@@ -12428,7 +12428,7 @@
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='689' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_strrchr' mangled-name='strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strrchr'>
+    <function-decl name='__interceptor_strrchr' mangled-name='__interceptor_strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strrchr'>
       <parameter type-id='type-id-25' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <parameter type-id='type-id-5' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <return type-id='type-id-25'/>
@@ -12443,7 +12443,7 @@
       <parameter type-id='type-id-5' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_memmove' mangled-name='memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memmove'>
+    <function-decl name='__interceptor_memmove' mangled-name='__interceptor_memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memmove'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-83'/>
@@ -12467,7 +12467,7 @@
       <parameter type-id='type-id-83' name='n' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='633' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_memcpy' mangled-name='memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcpy'>
+    <function-decl name='__interceptor_memcpy' mangled-name='__interceptor_memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memcpy'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-83'/>
@@ -12519,11 +12519,11 @@
       <parameter type-id='type-id-83' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='780' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_malloc_usable_size' mangled-name='malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='__interceptor_malloc_usable_size' mangled-name='__interceptor_malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc_usable_size'>
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1'/>
       <return type-id='type-id-83'/>
     </function-decl>
-    <function-decl name='__interceptor_cfree' mangled-name='cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='__interceptor_cfree' mangled-name='__interceptor_cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_cfree'>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-26'/>
     </function-decl>
@@ -12531,12 +12531,12 @@
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-26'/>
     </function-decl>
-    <function-decl name='__interceptor_realloc' mangled-name='realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realloc'>
+    <function-decl name='__interceptor_realloc' mangled-name='__interceptor_realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realloc'>
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1'/>
       <parameter type-id='type-id-83' name='size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_calloc' mangled-name='calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='calloc'>
+    <function-decl name='__interceptor_calloc' mangled-name='__interceptor_calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_calloc'>
       <parameter type-id='type-id-83'/>
       <parameter type-id='type-id-83'/>
       <return type-id='type-id-1'/>
@@ -12546,11 +12546,11 @@
       <parameter type-id='type-id-83'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_malloc' mangled-name='malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='__interceptor_malloc' mangled-name='__interceptor_malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc'>
       <parameter type-id='type-id-83' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='780' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_realpath' mangled-name='realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realpath'>
+    <function-decl name='__interceptor_realpath' mangled-name='__interceptor_realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realpath'>
       <parameter type-id='type-id-2' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
       <parameter type-id='type-id-25' name='resolved_path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
       <return type-id='type-id-25'/>
@@ -12560,12 +12560,12 @@
       <parameter type-id='type-id-5' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <return type-id='type-id-26'/>
     </function-decl>
-    <function-decl name='__interceptor_longjmp' mangled-name='longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='longjmp'>
+    <function-decl name='__interceptor_longjmp' mangled-name='__interceptor_longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_longjmp'>
       <parameter type-id='type-id-111' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <parameter type-id='type-id-5' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <return type-id='type-id-26'/>
     </function-decl>
-    <function-decl name='__interceptor___cxa_atexit' mangled-name='__cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cxa_atexit'>
+    <function-decl name='__interceptor___cxa_atexit' mangled-name='__interceptor___cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___cxa_atexit'>
       <parameter type-id='type-id-419' name='f' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
       <parameter type-id='type-id-1' name='arg' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
       <parameter type-id='type-id-1' name='dso' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
@@ -12589,7 +12589,7 @@
       <parameter type-id='type-id-5' name='flag' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='259' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_nanosleep' mangled-name='nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nanosleep'>
+    <function-decl name='__interceptor_nanosleep' mangled-name='__interceptor_nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_nanosleep'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-5'/>
@@ -12598,7 +12598,7 @@
       <parameter type-id='type-id-387' name='usec' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='245' column='1'/>
       <return type-id='type-id-5'/>
     </function-decl>
-    <function-decl name='__interceptor_sleep' mangled-name='sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sleep'>
+    <function-decl name='__interceptor_sleep' mangled-name='__interceptor_sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sleep'>
       <parameter type-id='type-id-129' name='sec' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1'/>
       <return type-id='type-id-129'/>
     </function-decl>
@@ -14768,7 +14768,7 @@
       <parameter type-id='type-id-1219' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='49' column='1'/>
       <return type-id='type-id-173'/>
     </function-decl>
-    <function-decl name='__tsan_unaligned_write2' mangled-name='__sanitizer_unaligned_store16' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store16'>
+    <function-decl name='__tsan_unaligned_write2' mangled-name='__tsan_unaligned_write2' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write2'>
       <parameter type-id='type-id-1220' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1'/>
       <parameter type-id='type-id-1202' name='v' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1'/>
       <return type-id='type-id-26'/>
@@ -14778,7 +14778,7 @@
       <parameter type-id='type-id-170' name='v' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='59' column='1'/>
       <return type-id='type-id-26'/>
     </function-decl>
-    <function-decl name='__tsan_unaligned_write8' mangled-name='__sanitizer_unaligned_store64' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store64'>
+    <function-decl name='__tsan_unaligned_write8' mangled-name='__tsan_unaligned_write8' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write8'>
       <parameter type-id='type-id-1222' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1'/>
       <parameter type-id='type-id-173' name='v' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1'/>
       <return type-id='type-id-26'/>
diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi
index 8706ed606c56..49262964fd08 100644
--- a/tests/data/test-read-dwarf/test16-pr18904.so.abi
+++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi
@@ -41,16 +41,16 @@
     <elf-symbol name='_ZN10MyoWrapper13UnloadLibraryEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10MyoWrapper15RemoteThunkCallEPvS0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10MyoWrapper17CreateVtableArenaEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10MyoWrapperC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN10MyoWrapperC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN10MyoWrapperC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN11PersistDataC1EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN11PersistDataC2EPKvmmm' is-defined='yes'/>
-    <elf-symbol name='_ZN11PersistDataC2EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10MyoWrapperC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10MyoWrapperC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN10MyoWrapperC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11PersistDataC1EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11PersistDataC2EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN11PersistDataC1EPKvmmm' is-defined='yes'/>
     <elf-symbol name='_ZN11TargetImageC1EPKcPKvmS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN11TargetImageC2EPKcPKvmS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN11TargetImageC1EPKcPKvmS1_m' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTable13find_ptr_dataEPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTable15insert_ptr_dataEPKvmRb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTable15remove_ptr_dataEPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -58,8 +58,8 @@
     <elf-symbol name='_ZN12PtrDataTableC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12PtrDataTableC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTableD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTableD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12PtrDataTableD1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN14mutex_locker_tC1ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN14mutex_locker_tC2ER7mutex_t' is-defined='yes'/>
-    <elf-symbol name='_ZN14mutex_locker_tC2ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN14mutex_locker_tC1ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN14mutex_locker_tC2ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN14mutex_locker_tC1ER7mutex_t' is-defined='yes'/>
     <elf-symbol name='_ZN14mutex_locker_tD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN14mutex_locker_tD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN14mutex_locker_tD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableList14process_vtableEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -67,16 +67,16 @@
     <elf-symbol name='_ZN15MYOVarTableList7processEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableList8is_emptyEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableList9add_tableEPN9TableListI11MYOVarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN15MYOVarTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN15MYOVarTableListC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN15MYOVarTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN15MYOVarTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN15MYOVarTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN15MYOVarTableListC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableListD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableListD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN15MYOVarTableListD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList4dumpEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList7processEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList8is_emptyEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList9add_tableEPN9TableListI12MYOFuncTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN16MYOFuncTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN16MYOFuncTableListC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN16MYOFuncTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN16MYOFuncTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN16MYOFuncTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN16MYOFuncTableListC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableListD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN16MYOFuncTableListD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableListD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOInitTableList4dumpEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -95,11 +95,11 @@
     <elf-symbol name='_ZN17OffloadDescriptor14alloc_ptr_dataERP7PtrDataPvlllibbb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor14offload_finishEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvE9read_nextEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlE9read_nextEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor15setup_misc_dataEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor16init_mic_addressEP7PtrData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor16report_coi_errorE11error_types9COIRESULT' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -123,10 +123,10 @@
     <elf-symbol name='_ZN17OffloadDescriptor7offloadEPKcbP7VarDescP8VarDesc2iPPKviS8_iS7_12OffloadFlags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptorC1EiP15_Offload_statusbbP20OffloadHostTimerData' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptorC2EiP15_Offload_statusbbP20OffloadHostTimerData' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptorC1EiP15_Offload_statusbbP20OffloadHostTimerData' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN6DynLibC1EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6DynLibC2EPKcPKvP10coilibrary' is-defined='yes'/>
-    <elf-symbol name='_ZN6DynLibC2EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptorD1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN6DynLibC1EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6DynLibC2EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6DynLibC1EPKcPKvP10coilibrary' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine10add_signalEPKvP17OffloadDescriptor' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine11find_signalEPKvb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine11init_deviceEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -156,10 +156,10 @@
     <elf-symbol name='_ZN6Engine7computeEmRKNSt7__cxx114listIP9coibufferSaIS3_EEEPKvtPvtjPK8coieventPSB_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine8fini_myoEP8coievent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine8init_myoEP8coievent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN6Stream10add_streamEii' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Stream10get_deviceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Stream11find_streamEmb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -180,18 +180,18 @@
     <elf-symbol name='_ZN6ThreadD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6ThreadD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrData13add_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrData16remove_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC1EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC2EPKvm' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC2ERKS_' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC1EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC1EPKvm' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC1ERKS_' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrDataD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrDataD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_t4lockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_t6unlockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_tC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_tC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7mutex_tC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN7mutex_tD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7mutex_tD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN7mutex_tD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7mutex_tD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7mutex_tD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7mutex_tD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN8AutoData13add_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8AutoData16remove_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8AutoData17nullify_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -199,14 +199,14 @@
     <elf-symbol name='_ZN8AutoDataC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8AutoDataC1EPKvm' is-defined='yes'/>
     <elf-symbol name='_ZN8Iterator8new_nodeEPN9TableListI8VarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8IteratorC1EPN9TableListI8VarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN8IteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8IteratorC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN8IteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8IteratorC2EPN9TableListI8VarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8IteratorC1EPN9TableListI8VarTableE4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN8IteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN8IteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8IteratorC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN8IteratorppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8MemRangeC1EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8MemRangeC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8MemRangeC1EPKvm' is-defined='yes'/>
-    <elf-symbol name='_ZN8MyoTableC1EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' is-defined='yes'/>
-    <elf-symbol name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN8MyoTableC1EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8MyoTableC1EP18MyoiSharedVarEntryi' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI11MYOVarTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI11MYOVarTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI11MYOVarTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -215,20 +215,20 @@
     <elf-symbol name='_ZN9TableListI11MYOVarTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI11MYOVarTableED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOFuncTableED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOInitTableED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI8VarTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI8VarTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI8VarTableEC1EPNS1_4NodeE' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI8VarTableED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI9FuncTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -242,30 +242,30 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE9constructIS4_IS4_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE9constructIS4_JS4_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE9constructIS4_IS4_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -273,35 +273,35 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE10deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE7destroyIS3_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE10deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE7destroyIS3_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIPcEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -316,8 +316,8 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -329,30 +329,30 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE10deallocateEPS9_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE7destroyIS8_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE8allocateEmS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE10deallocateEPS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE7destroyIS6_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKSt21piecewise_construct_tSt5tupleIIRS3_EESD_IIEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKSt21piecewise_construct_tSt5tupleIJRS3_EESD_IJEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKSt21piecewise_construct_tSt5tupleIIRS3_EESD_IIEEEEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS8_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx14__alloc_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE17_S_select_on_copyERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufI11PersistDataE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufI11PersistDataE7_M_addrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -386,20 +386,20 @@
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufISt4pairIKmP6StreamEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx16__aligned_membufISt4pairIKmP6StreamEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufImE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufImE7_M_addrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS5_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEclINS_17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEES5_EEbT_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEclIS5_NS_17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEEEEbRT_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops15_Iter_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops15_Iter_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops15_Iter_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' is-defined='yes'/>
@@ -584,57 +584,57 @@
     <elf-symbol name='_ZNSaIPKN8VarTable5EntryEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIPKN8VarTable5EntryEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEEC1ERKS3_' is-defined='yes'/>
     <elf-symbol name='_ZNSaIPKN8VarTable5EntryEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11PersistDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11TargetImageEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11TargetImageEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI6DynLibEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI6DynLibEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI6DynLibEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI8MyoTableEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP7PtrDataEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP9coibufferEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIPcEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP9coibufferEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIPcEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIPcEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIPcEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIPcEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI7PtrDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI8AutoDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI8AutoDataEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKmLb0EEC1ES1_' is-defined='yes'/>
@@ -647,7 +647,7 @@
     <elf-symbol name='_ZNSt10_List_nodeIPcE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeImE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_,_ZNSt11_Tuple_implILm0EIRKPKvEEC2EOS4_,_ZNSt11_Tuple_implILm0EJRKPKvEEC1EOS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -655,17 +655,17 @@
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKmEEC1ES1_,_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_,_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKPKvEE7_M_headERS4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKPKvEEC2EOS4_,_ZNSt11_Tuple_implILm0EJRKPKvEEC1EOS4_,_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKPKvEEC1ES3_,_ZNSt11_Tuple_implILm0EIRKPKvEEC1ES3_,_ZNSt11_Tuple_implILm0EIRKPKvEEC2ES3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKmEE7_M_headERS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKmEEC1EOS2_,_ZNSt11_Tuple_implILm0EIRKmEEC2EOS2_,_ZNSt11_Tuple_implILm0EIRKmEEC1EOS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_,_ZNSt11_Tuple_implILm0EIRKmEEC1ES1_,_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26bidirectional_iterator_tagE8__copy_mISt14_List_iteratorIPcEPS4_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__copy_moveILb1ELb0ESt26random_access_iterator_tagE8__copy_mISt13move_iteratorIPPKN8VarTable5EntryEES8_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Base_bitsetILm16EE10_M_getwordEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -687,10 +687,10 @@
     <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EE13_M_deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeI7PtrDataE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeI7PtrDataEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeI7PtrDataEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13_Rb_tree_nodeI7PtrDataEC1Ev' is-defined='yes'/>
@@ -706,17 +706,17 @@
     <elf-symbol name='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEC1ES4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEC2ES4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEC1ES4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI8MyoTableEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI8MyoTableEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI8MyoTableEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
@@ -725,73 +725,73 @@
     <elf-symbol name='_ZNSt14_List_iteratorIP7PtrDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorIP9coibufferEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorIP9coibufferEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorIP9coibufferEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorIPcEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEC1ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEC1ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEC2ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEC1ERS4_PS3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE10_S_destroyIS4_S3_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE10deallocateERS4_PS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE11_S_max_sizeIKS4_EEDTcldtfp_8max_sizeEERT_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE7destroyIS3_EEvRS4_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE8allocateERS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE8max_sizeERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI6DynLibEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI6DynLibEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -819,28 +819,28 @@
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP7PtrDataEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP7PtrDataEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE10_S_destroyIS4_S2_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE10deallocateERS4_PS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE7destroyIS2_EEvRS4_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE8allocateERS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI8AutoDataEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI8AutoDataEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI8AutoDataEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -859,20 +859,20 @@
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEE9constructIS7_JRKSt21piecewise_construct_tSt5tupleIJRS4_EESF_IJEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS9_PT_DpOSJ_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEE9constructIS7_IRKSt21piecewise_construct_tSt5tupleIIRS4_EESF_IIEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS9_PT_DpOSJ_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE10_S_destroyIS7_S5_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE10deallocateERS7_PS6_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSK_DpOSL_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESD_IJEEEEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSK_DpOSL_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSK_DpOSL_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE37select_on_container_copy_constructionERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE7destroyIS5_EEvRS7_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE8allocateERS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9_S_selectIKS7_EET_RSB_z' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESD_IJEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSH_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSH_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorI8AutoDataEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorI8AutoDataEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorI8AutoDataEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
@@ -881,8 +881,8 @@
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -892,40 +892,40 @@
     <elf-symbol name='_ZNSt18_Rb_tree_node_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI11PersistDataEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI11PersistDataEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI11PersistDataEC1ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI8MyoTableEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI8MyoTableEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI8MyoTableEC1ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI8MyoTableEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC1ERKSt14_List_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC2ERKSt14_List_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorIP9coibufferEC1ERKSt14_List_iteratorIS1_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb1ESt26random_access_iterator_tagE13__copy_move_bIN7VarList8BufEntryEEEPT_PKS5_S8_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb1ESt26random_access_iterator_tagE13__copy_move_bIPKN8VarTable5EntryEEEPT_PKS7_SA_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPPKN8VarTable5EntryEES7_EET0_T_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1EPKSt18_Rb_tree_node_base' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1ERKSt17_Rb_tree_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKmP6StreamEEC1ERKSt17_Rb_tree_iteratorIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKmP6StreamEEC2ERKSt17_Rb_tree_iteratorIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKmP6StreamEEC1ERKSt17_Rb_tree_iteratorIS4_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEE11lower_boundERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEE4findERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEixERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -934,18 +934,18 @@
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEE4findERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEE5eraseB5cxx11ESt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEixERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EE4findERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EE5eraseERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EE6insertEOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EE4findERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -956,63 +956,63 @@
     <elf-symbol name='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE,_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES7_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE,_ZNSt4pairIKmP6StreamEC2IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE,_ZNSt4pairIKmP6StreamEC1IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES7_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKmP6StreamEC2IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE,_ZNSt4pairIKmP6StreamEC1IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE,_ZNSt4pairIKmP6StreamEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES7_IJDpT0_EE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKmP6StreamEC2IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE,_ZNSt4pairIKmP6StreamEC1IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE,_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI7PtrDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKPKvP17OffloadDescriptorEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKmP6StreamEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEERKS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI7PtrDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI7PtrDataERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKPKvP17OffloadDescriptorEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKPKvP17OffloadDescriptorEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKmP6StreamEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKmP6StreamEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEERKS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEERKS1_OT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataEbEC1IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataEbEC2IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataEbEC1IS2_bLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKPKvEEC2EOS4_,_ZNSt5tupleIJRKPKvEEC1EOS4_,_ZNSt5tupleIJRKPKvEEC2EOS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKPKvEEC1IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_,_ZNSt5tupleIJRKPKvEEC1IvLb1EEES3_,_ZNSt5tupleIIRKPKvEEC1IvLb1EEES3_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIIRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKmEEC1EOS2_,_ZNSt5tupleIIRKmEEC2EOS2_,_ZNSt5tupleIJRKmEEC2EOS2_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIIRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKmEEC1IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKmEEC2IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIJRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIJRKPKvEEC1IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKPKvEEC1EOS4_,_ZNSt5tupleIIRKPKvEEC2EOS4_,_ZNSt5tupleIJRKPKvEEC1EOS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKPKvEEC1IvLb1EEES3_,_ZNSt5tupleIIRKPKvEEC1IvLb1EEES3_,_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIJRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_,_ZNSt5tupleIIRKmEEC2IvLb1EEES1_,_ZNSt5tupleIIRKmEEC1IvLb1EEES1_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKmEEC1EOS2_,_ZNSt5tupleIJRKmEEC1EOS2_,_ZNSt5tupleIIRKmEEC2EOS2_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKmEEC2IvLb1EEES1_,_ZNSt5tupleIIRKmEEC1IvLb1EEES1_,_ZNSt5tupleIJRKmEEC1IvLb1EEES1_' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm1024EE14_Unchecked_setEmi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm1024EE3setEmb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm1024EE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1025,13 +1025,13 @@
     <elf-symbol name='_ZNSt6bitsetILm128EE14_Unchecked_setEmi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm128EE3setEmb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm128EE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC1ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC1ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceC1ERS0_m' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm128EEixEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_range_initializeI8IteratorEEvT_S8_St18input_iterator_tag' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1040,10 +1040,10 @@
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EEC1I8IteratorvEET_S8_RKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EEC2I8IteratorvEET_S8_RKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EEC1I8IteratorvEET_S8_RKS4_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE11_M_dec_sizeEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1056,8 +1056,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implD2Ev' is-defined='yes'/>
@@ -1069,8 +1069,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI6DynLibSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1100,10 +1100,10 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implD2Ev' is-defined='yes'/>
@@ -1119,8 +1119,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1134,8 +1134,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1145,45 +1145,45 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE10push_frontERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5eraseESt20_List_const_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5eraseESt20_List_const_iteratorIS1_ES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5frontEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE8_M_eraseESt14_List_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9push_backEOS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE10push_frontEOS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE5eraseESt20_List_const_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1194,8 +1194,8 @@
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1207,8 +1207,8 @@
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI8MyoTableSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE10push_frontERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1218,23 +1218,23 @@
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9_M_insertIIRKS2_EEEvSt14_List_iteratorIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9_M_insertIJRKS2_EEEvSt14_List_iteratorIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9_M_insertIIRKS2_EEEvSt14_List_iteratorIS2_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9push_backERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EEC1Ev' is-defined='yes'/>
@@ -1255,8 +1255,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS0_EPSt18_Rb_tree_node_baseRKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_upper_boundEPSt13_Rb_tree_nodeIS0_EPSt18_Rb_tree_node_baseRKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1281,13 +1281,13 @@
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_S_valueEPKSt13_Rb_tree_nodeIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_S_valueEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11equal_rangeERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1296,8 +1296,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS0_ES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EE13_M_initializeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EE8_M_resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1341,16 +1341,16 @@
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSE_PSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE17_M_construct_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE17_M_construct_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE24_M_get_insert_unique_posERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1371,8 +1371,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE10_S_maximumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE10_S_minimumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_M_leftmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1382,16 +1382,16 @@
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE12_M_rightmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_M_clone_nodeINSA_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS4_EPKSE_RT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EE13_M_initializeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSC_PSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS4_EPSt18_Rb_tree_node_baseRS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1400,8 +1400,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIJRKS4_EEEvPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIIRKS4_EEEvPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE24_M_get_insert_unique_posERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1423,11 +1423,11 @@
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE8_S_valueEPKSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE8_S_valueEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1ERKSA_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8iteratorISt18input_iterator_tagN8VarTable5EntryElPS2_RS2_EC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8iteratorISt18input_iterator_tagN8VarTable5EntryElPS2_RS2_EC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8iteratorISt18input_iterator_tagN8VarTable5EntryElPS2_RS2_EC1Ev' is-defined='yes'/>
@@ -1479,9 +1479,9 @@
     <elf-symbol name='_ZSt34__uninitialized_move_if_noexcept_aIPPKN8VarTable5EntryES4_SaIS3_EET0_T_S7_S6_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3decRSt8ios_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EIRKPKvEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EJRKPKvEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EIRKPKvEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS8_' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_' is-defined='yes'/>
     <elf-symbol name='_ZSt3hexRSt8ios_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3maxImERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt4__lgl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1525,12 +1525,12 @@
     <elf-symbol name='_ZSt7forwardIRbEOT_RNSt16remove_referenceIS1_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt17_Rb_tree_iteratorI7PtrDataEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt17_Rb_tree_iteratorI8AutoDataEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt5tupleIIRKPKvEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt5tupleIJRKPKvEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIIRKPKvEEEOT_RNSt16remove_referenceIS6_E4typeE' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardIbEOT_RNSt16remove_referenceIS0_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt8_DestroyIPPKN8VarTable5EntryEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt8_DestroyIPPKN8VarTable5EntryES3_EvT_S5_RSaIT0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2577,14 +2577,14 @@
         </function-decl>
       </member-function>
       <member-function access='private' destructor='yes'>
-        <function-decl name='~Engine' mangled-name='_ZN6EngineD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='570' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineD1Ev'>
+        <function-decl name='~Engine' mangled-name='_ZN6EngineD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='570' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineD2Ev'>
           <parameter type-id='type-id-200' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='Engine' mangled-name='_ZN6EngineC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineC1Ev'>
+        <function-decl name='Engine' mangled-name='_ZN6EngineC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineC2Ev'>
           <parameter type-id='type-id-200' is-artificial='yes'/>
           <return type-id='type-id-149'/>
         </function-decl>
@@ -2656,7 +2656,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='PersistData' mangled-name='_ZN11PersistDataC2EPKvmmm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11PersistDataC1EPKvmmm'>
+        <function-decl name='PersistData' mangled-name='_ZN11PersistDataC2EPKvmmm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11PersistDataC2EPKvmmm'>
           <parameter type-id='type-id-214' is-artificial='yes'/>
           <parameter type-id='type-id-151'/>
           <parameter type-id='type-id-56'/>
@@ -2735,14 +2735,14 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1ERKS_'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2ERKS_'>
           <parameter type-id='type-id-204' is-artificial='yes'/>
           <parameter type-id='type-id-217'/>
           <return type-id='type-id-149'/>
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1EPKvm'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2EPKvm'>
           <parameter type-id='type-id-204' is-artificial='yes'/>
           <parameter type-id='type-id-151'/>
           <parameter type-id='type-id-56'/>
@@ -2750,14 +2750,14 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1ERKS_'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2ERKS_'>
           <parameter type-id='type-id-204' is-artificial='yes'/>
           <parameter type-id='type-id-217'/>
           <return type-id='type-id-149'/>
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1EPKvm'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2EPKvm'>
           <parameter type-id='type-id-204' is-artificial='yes'/>
           <parameter type-id='type-id-151'/>
           <parameter type-id='type-id-56'/>
@@ -2880,7 +2880,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='DynLib' mangled-name='_ZN6DynLibC2EPKcPKvP10coilibrary' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6DynLibC1EPKcPKvP10coilibrary'>
+        <function-decl name='DynLib' mangled-name='_ZN6DynLibC2EPKcPKvP10coilibrary' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6DynLibC2EPKcPKvP10coilibrary'>
           <parameter type-id='type-id-230' is-artificial='yes'/>
           <parameter type-id='type-id-153'/>
           <parameter type-id='type-id-151'/>
@@ -2984,7 +2984,7 @@
               </function-decl>
             </member-function>
             <member-function access='private'>
-              <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev'>
+              <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev'>
                 <parameter type-id='type-id-237' is-artificial='yes'/>
                 <return type-id='type-id-149'/>
               </function-decl>
@@ -3035,7 +3035,7 @@
               </function-decl>
             </member-function>
             <member-function access='private'>
-              <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev'>
+              <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev'>
                 <parameter type-id='type-id-239' is-artificial='yes'/>
                 <return type-id='type-id-149'/>
               </function-decl>
@@ -3436,7 +3436,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD1Ev'>
+        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD2Ev'>
           <parameter type-id='type-id-207' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
@@ -3454,7 +3454,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD1Ev'>
+        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD2Ev'>
           <parameter type-id='type-id-207' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
@@ -4853,7 +4853,7 @@
                   </function-decl>
                 </member-function>
                 <member-function access='public' constructor='yes'>
-                  <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev'>
+                  <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev'>
                     <parameter type-id='type-id-985' is-artificial='yes'/>
                     <return type-id='type-id-149'/>
                   </function-decl>
@@ -5720,13 +5720,13 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='list' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev'>
+            <function-decl name='list' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev'>
               <parameter type-id='type-id-1008' is-artificial='yes'/>
               <return type-id='type-id-149'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;coibuffer* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
+            <function-decl name='_M_create_node&lt;coibuffer* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
               <parameter type-id='type-id-1008' is-artificial='yes'/>
               <parameter type-id='type-id-375'/>
               <return type-id='type-id-1104'/>
@@ -6265,7 +6265,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;PtrData* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
+            <function-decl name='_M_create_node&lt;PtrData* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
               <parameter type-id='type-id-998' is-artificial='yes'/>
               <parameter type-id='type-id-304'/>
               <return type-id='type-id-1119'/>
@@ -6798,14 +6798,14 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-993' is-artificial='yes'/>
               <parameter type-id='type-id-386'/>
               <return type-id='type-id-1134'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_insert&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
+            <function-decl name='_M_insert&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
               <parameter type-id='type-id-993' is-artificial='yes'/>
               <parameter type-id='type-id-1124'/>
               <parameter type-id='type-id-386'/>
@@ -6852,7 +6852,7 @@
                   </function-decl>
                 </member-function>
                 <member-function access='public' constructor='yes'>
-                  <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev'>
+                  <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev'>
                     <parameter type-id='type-id-970' is-artificial='yes'/>
                     <return type-id='type-id-149'/>
                   </function-decl>
@@ -6996,7 +6996,7 @@
             </function-decl>
           </member-function>
           <member-function access='private' destructor='yes'>
-            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev'>
+            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev'>
               <parameter type-id='type-id-968' is-artificial='yes'/>
               <parameter type-id='type-id-25' is-artificial='yes'/>
               <return type-id='type-id-149'/>
@@ -7521,7 +7521,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;TargetImage&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;TargetImage&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-1003' is-artificial='yes'/>
               <parameter type-id='type-id-307'/>
               <return type-id='type-id-1150'/>
@@ -7543,7 +7543,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_insert&lt;const TargetImage&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
+            <function-decl name='_M_insert&lt;const TargetImage&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
               <parameter type-id='type-id-1003' is-artificial='yes'/>
               <parameter type-id='type-id-1141'/>
               <parameter type-id='type-id-201'/>
@@ -7551,7 +7551,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='list' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev'>
+            <function-decl name='list' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev'>
               <parameter type-id='type-id-1003' is-artificial='yes'/>
               <return type-id='type-id-149'/>
             </function-decl>
@@ -7728,7 +7728,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev'>
+            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev'>
               <parameter type-id='type-id-978' is-artificial='yes'/>
               <return type-id='type-id-149'/>
             </function-decl>
@@ -8259,7 +8259,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;DynLib&gt;' mangled-name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;DynLib&gt;' mangled-name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-988' is-artificial='yes'/>
               <parameter type-id='type-id-299'/>
               <return type-id='type-id-1167'/>
@@ -8616,7 +8616,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_'>
+          <function-decl name='_S_construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_'>
             <parameter type-id='type-id-1036'/>
             <parameter type-id='type-id-378'/>
             <parameter type-id='type-id-375'/>
@@ -8624,7 +8624,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_'>
+          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_'>
             <parameter type-id='type-id-1036'/>
             <parameter type-id='type-id-378'/>
             <parameter type-id='type-id-375'/>
@@ -8679,14 +8679,14 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED2Ev'>
             <parameter type-id='type-id-1037' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED2Ev'>
             <parameter type-id='type-id-1037' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -8981,14 +8981,14 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev'>
             <parameter type-id='type-id-1033' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev'>
             <parameter type-id='type-id-1033' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -9331,7 +9331,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1254' is-artificial='yes'/>
             <parameter type-id='type-id-731'/>
             <return type-id='type-id-149'/>
@@ -9488,7 +9488,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev'>
             <parameter type-id='type-id-1031' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -9707,7 +9707,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
+          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
             <parameter type-id='type-id-1030'/>
             <parameter type-id='type-id-214'/>
             <parameter type-id='type-id-386'/>
@@ -9840,14 +9840,14 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1306' is-artificial='yes'/>
             <parameter type-id='type-id-1013'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC1Ev'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC2Ev'>
             <parameter type-id='type-id-1306' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -10003,7 +10003,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11TargetImageEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11TargetImageEED2Ev'>
             <parameter type-id='type-id-1035' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -10223,7 +10223,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;TargetImage, TargetImage&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_'>
+          <function-decl name='_S_construct&lt;TargetImage, TargetImage&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_'>
             <parameter type-id='type-id-1034'/>
             <parameter type-id='type-id-211'/>
             <parameter type-id='type-id-307'/>
@@ -10247,7 +10247,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
+          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
             <parameter type-id='type-id-1034'/>
             <parameter type-id='type-id-211'/>
             <parameter type-id='type-id-201'/>
@@ -10365,14 +10365,14 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-896' is-artificial='yes'/>
             <parameter type-id='type-id-1013'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-896' is-artificial='yes'/>
             <parameter type-id='type-id-1013'/>
             <return type-id='type-id-149'/>
@@ -10736,7 +10736,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='set' mangled-name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_set.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev'>
+          <function-decl name='set' mangled-name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_set.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev'>
             <parameter type-id='type-id-1077' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -11486,7 +11486,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;PtrData&gt;' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_'>
+          <function-decl name='_M_create_node&lt;PtrData&gt;' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_'>
             <parameter type-id='type-id-917' is-artificial='yes'/>
             <parameter type-id='type-id-302'/>
             <return type-id='type-id-1370'/>
@@ -11510,13 +11510,13 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev'>
             <parameter type-id='type-id-917' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev'>
             <parameter type-id='type-id-917' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -11554,7 +11554,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev'>
             <parameter type-id='type-id-1039' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -11852,14 +11852,14 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-947' is-artificial='yes'/>
             <parameter type-id='type-id-1404'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-947' is-artificial='yes'/>
             <parameter type-id='type-id-1404'/>
             <return type-id='type-id-149'/>
@@ -11973,7 +11973,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E'>
             <parameter type-id='type-id-939' is-artificial='yes'/>
             <parameter type-id='type-id-593'/>
             <return type-id='type-id-149'/>
@@ -11987,7 +11987,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E'>
             <parameter type-id='type-id-939' is-artificial='yes'/>
             <parameter type-id='type-id-593'/>
             <return type-id='type-id-149'/>
@@ -12055,7 +12055,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_'>
             <parameter type-id='type-id-1070' is-artificial='yes'/>
             <parameter type-id='type-id-1411'/>
             <parameter type-id='type-id-1412'/>
@@ -12127,7 +12127,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node&lt;AutoData&gt;*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node&lt;AutoData&gt;*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1070' is-artificial='yes'/>
             <parameter type-id='type-id-1416'/>
             <parameter type-id='type-id-1411'/>
@@ -12135,7 +12135,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1070' is-artificial='yes'/>
             <parameter type-id='type-id-1411'/>
             <parameter type-id='type-id-1411'/>
@@ -12151,7 +12151,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_'>
             <parameter type-id='type-id-1070' is-artificial='yes'/>
             <parameter type-id='type-id-1411'/>
             <parameter type-id='type-id-1412'/>
@@ -12218,7 +12218,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;, std::_Rb_tree_iterator&lt;PtrData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;, std::_Rb_tree_iterator&lt;PtrData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1068' is-artificial='yes'/>
             <parameter type-id='type-id-1417'/>
             <parameter type-id='type-id-1417'/>
@@ -12330,7 +12330,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
             <parameter type-id='type-id-1064' is-artificial='yes'/>
             <parameter type-id='type-id-1417'/>
             <parameter type-id='type-id-205'/>
@@ -12338,7 +12338,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
             <parameter type-id='type-id-1064' is-artificial='yes'/>
             <parameter type-id='type-id-1417'/>
             <parameter type-id='type-id-205'/>
@@ -12750,7 +12750,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev'>
             <parameter type-id='type-id-1056' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -13466,7 +13466,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_'>
+          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_'>
             <parameter type-id='type-id-931' is-artificial='yes'/>
             <parameter type-id='type-id-1445'/>
             <parameter type-id='type-id-1446'/>
@@ -13475,7 +13475,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_'>
+          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_'>
             <parameter type-id='type-id-931' is-artificial='yes'/>
             <parameter type-id='type-id-1426'/>
             <parameter type-id='type-id-1445'/>
@@ -13529,7 +13529,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev'>
             <parameter type-id='type-id-1041' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -13626,7 +13626,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='pair&lt;void const* const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE'>
+          <function-decl name='pair&lt;void const* const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE'>
             <parameter type-id='type-id-1072' is-artificial='yes'/>
             <parameter type-id='type-id-1446'/>
             <parameter type-id='type-id-1447'/>
@@ -13975,7 +13975,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E'>
             <parameter type-id='type-id-943' is-artificial='yes'/>
             <parameter type-id='type-id-611'/>
             <return type-id='type-id-149'/>
@@ -14392,19 +14392,19 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev'>
             <parameter type-id='type-id-1052' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev'>
             <parameter type-id='type-id-1052' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_'>
+          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_'>
             <parameter type-id='type-id-1052' is-artificial='yes'/>
             <parameter type-id='type-id-815'/>
             <return type-id='type-id-149'/>
@@ -14433,7 +14433,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_'>
+                <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_'>
                   <parameter type-id='type-id-1499' is-artificial='yes'/>
                   <parameter type-id='type-id-923'/>
                   <return type-id='type-id-149'/>
@@ -14501,7 +14501,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public'>
-                <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE'>
+                <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE'>
                   <parameter type-id='type-id-929' is-artificial='yes'/>
                   <parameter type-id='type-id-808'/>
                   <parameter type-id='type-id-927'/>
@@ -15154,13 +15154,13 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev'>
             <parameter type-id='type-id-924' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev'>
             <parameter type-id='type-id-924' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -15175,7 +15175,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
+          <function-decl name='_M_create_node&lt;const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
             <parameter type-id='type-id-924' is-artificial='yes'/>
             <parameter type-id='type-id-846'/>
             <return type-id='type-id-1501'/>
@@ -15209,7 +15209,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
+          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
             <parameter type-id='type-id-924' is-artificial='yes'/>
             <parameter type-id='type-id-1445'/>
             <parameter type-id='type-id-1509'/>
@@ -15218,7 +15218,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_'>
+          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_'>
             <parameter type-id='type-id-924' is-artificial='yes'/>
             <parameter type-id='type-id-1486'/>
             <parameter type-id='type-id-1445'/>
@@ -15228,7 +15228,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev'>
             <parameter type-id='type-id-924' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -15241,7 +15241,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev'>
             <parameter type-id='type-id-924' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -15279,33 +15279,33 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev'>
             <parameter type-id='type-id-1040' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-1040' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev'>
             <parameter type-id='type-id-1040' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_'>
             <parameter type-id='type-id-1040' is-artificial='yes'/>
             <parameter type-id='type-id-776'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-1040' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -15396,7 +15396,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='pair&lt;long unsigned int const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE'>
+          <function-decl name='pair&lt;long unsigned int const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE'>
             <parameter type-id='type-id-1060' is-artificial='yes'/>
             <parameter type-id='type-id-1509'/>
             <parameter type-id='type-id-1447'/>
@@ -16172,14 +16172,14 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-949' is-artificial='yes'/>
             <parameter type-id='type-id-1542'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-949' is-artificial='yes'/>
             <parameter type-id='type-id-1542'/>
             <return type-id='type-id-149'/>
@@ -16401,7 +16401,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI6DynLibEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI6DynLibEED2Ev'>
             <parameter type-id='type-id-1029' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -16747,7 +16747,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1588' is-artificial='yes'/>
             <parameter type-id='type-id-1013'/>
             <return type-id='type-id-149'/>
@@ -16853,7 +16853,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E'>
+          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E'>
             <parameter type-id='type-id-1596' is-artificial='yes'/>
             <parameter type-id='type-id-1597'/>
             <return type-id='type-id-149'/>
@@ -17244,7 +17244,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_'>
+                <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_'>
                   <parameter type-id='type-id-1614' is-artificial='yes'/>
                   <parameter type-id='type-id-909'/>
                   <return type-id='type-id-149'/>
@@ -17300,7 +17300,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public'>
-                <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev'>
+                <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev'>
                   <parameter type-id='type-id-915' is-artificial='yes'/>
                   <return type-id='type-id-149'/>
                 </function-decl>
@@ -18388,7 +18388,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-937' is-artificial='yes'/>
             <parameter type-id='type-id-1651'/>
             <return type-id='type-id-149'/>
@@ -18455,7 +18455,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, std::_Rb_tree_iterator&lt;AutoData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, std::_Rb_tree_iterator&lt;AutoData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1066' is-artificial='yes'/>
             <parameter type-id='type-id-1654'/>
             <parameter type-id='type-id-1654'/>
@@ -18567,7 +18567,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
             <parameter type-id='type-id-1062' is-artificial='yes'/>
             <parameter type-id='type-id-1654'/>
             <parameter type-id='type-id-205'/>
@@ -18699,7 +18699,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev'>
             <parameter type-id='type-id-361' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -18712,7 +18712,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-361' is-artificial='yes'/>
             <parameter type-id='type-id-378'/>
             <parameter type-id='type-id-375'/>
@@ -18847,7 +18847,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev'>
             <parameter type-id='type-id-357' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -18860,7 +18860,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;PtrData*, PtrData* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;PtrData*, PtrData* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-357' is-artificial='yes'/>
             <parameter type-id='type-id-306'/>
             <parameter type-id='type-id-304'/>
@@ -19378,7 +19378,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-355' is-artificial='yes'/>
             <parameter type-id='type-id-214'/>
             <parameter type-id='type-id-386'/>
@@ -19399,7 +19399,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev'>
             <parameter type-id='type-id-355' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -19729,7 +19729,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-359' is-artificial='yes'/>
             <parameter type-id='type-id-211'/>
             <parameter type-id='type-id-201'/>
@@ -19737,7 +19737,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev'>
             <parameter type-id='type-id-359' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -20058,7 +20058,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-365' is-artificial='yes'/>
             <parameter type-id='type-id-204'/>
             <parameter type-id='type-id-302'/>
@@ -20351,7 +20351,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;std::pair&lt;void const* const, OffloadDescriptor*&gt;, const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;std::pair&lt;void const* const, OffloadDescriptor*&gt;, const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_'>
             <parameter type-id='type-id-369' is-artificial='yes'/>
             <parameter type-id='type-id-1072'/>
             <parameter type-id='type-id-1445'/>
@@ -20361,7 +20361,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev'>
             <parameter type-id='type-id-369' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -20639,14 +20639,14 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-367' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-367' is-artificial='yes'/>
             <parameter type-id='type-id-1060'/>
             <parameter type-id='type-id-846'/>
@@ -20677,7 +20677,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-367' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -20951,13 +20951,13 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev'>
             <parameter type-id='type-id-353' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev'>
             <parameter type-id='type-id-353' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -21285,7 +21285,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev'>
             <parameter type-id='type-id-363' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -21710,7 +21710,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC1ER7mutex_t'>
+        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC2ER7mutex_t'>
           <parameter type-id='type-id-1780' is-artificial='yes'/>
           <parameter type-id='type-id-1781'/>
           <return type-id='type-id-149'/>
@@ -21724,7 +21724,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC1ER7mutex_t'>
+        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC2ER7mutex_t'>
           <parameter type-id='type-id-1780' is-artificial='yes'/>
           <parameter type-id='type-id-1781'/>
           <return type-id='type-id-149'/>
@@ -21738,7 +21738,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC1ER7mutex_t'>
+        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC2ER7mutex_t'>
           <parameter type-id='type-id-1780' is-artificial='yes'/>
           <parameter type-id='type-id-1781'/>
           <return type-id='type-id-149'/>
@@ -21807,7 +21807,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='Iterator' mangled-name='_ZN8IteratorC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_iterator.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8IteratorC1Ev'>
+        <function-decl name='Iterator' mangled-name='_ZN8IteratorC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_iterator.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8IteratorC2Ev'>
           <parameter type-id='type-id-1786' is-artificial='yes'/>
           <return type-id='type-id-149'/>
         </function-decl>
@@ -22362,7 +22362,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaIPKN8VarTable5EntryEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIPKN8VarTable5EntryEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaIPKN8VarTable5EntryEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIPKN8VarTable5EntryEED2Ev'>
             <parameter type-id='type-id-1915' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -22972,7 +22972,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_'>
+          <function-decl name='_S_construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_'>
             <parameter type-id='type-id-1914'/>
             <parameter type-id='type-id-1834'/>
             <parameter type-id='type-id-1833'/>
@@ -22980,7 +22980,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_'>
+          <function-decl name='construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_'>
             <parameter type-id='type-id-1914'/>
             <parameter type-id='type-id-1834'/>
             <parameter type-id='type-id-1833'/>
@@ -23193,14 +23193,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev'>
+          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev'>
             <parameter type-id='type-id-1904' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_'>
+          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_'>
             <parameter type-id='type-id-1904' is-artificial='yes'/>
             <parameter type-id='type-id-1873'/>
             <return type-id='type-id-149'/>
@@ -23265,7 +23265,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_'>
+          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_'>
             <parameter type-id='type-id-1917'/>
             <parameter type-id='type-id-204'/>
             <parameter type-id='type-id-302'/>
@@ -23834,7 +23834,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='emplace_back&lt;const VarTable::Entry*&gt;' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/vector.tcc' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_'>
+          <function-decl name='emplace_back&lt;const VarTable::Entry*&gt;' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/vector.tcc' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_'>
             <parameter type-id='type-id-1954' is-artificial='yes'/>
             <parameter type-id='type-id-1833'/>
             <return type-id='type-id-149'/>
@@ -23868,7 +23868,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~vector' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev'>
+          <function-decl name='~vector' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev'>
             <parameter type-id='type-id-1954' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -24105,7 +24105,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_'>
+          <function-decl name='_S_construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_'>
             <parameter type-id='type-id-1918'/>
             <parameter type-id='type-id-1060'/>
             <parameter type-id='type-id-846'/>
@@ -24113,7 +24113,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_'>
+          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_'>
             <parameter type-id='type-id-1918'/>
             <parameter type-id='type-id-1060'/>
             <parameter type-id='type-id-846'/>
@@ -24306,7 +24306,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-1911' is-artificial='yes'/>
             <parameter type-id='type-id-1028'/>
             <parameter type-id='type-id-2058'/>
@@ -24374,7 +24374,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='_Iter_comp_val' mangled-name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_'>
+            <function-decl name='_Iter_comp_val' mangled-name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_'>
               <parameter type-id='type-id-1812' is-artificial='yes'/>
               <parameter type-id='type-id-1822'/>
               <return type-id='type-id-149'/>
@@ -24490,7 +24490,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='_Val_comp_iter' mangled-name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_'>
+            <function-decl name='_Val_comp_iter' mangled-name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_'>
               <parameter type-id='type-id-1816' is-artificial='yes'/>
               <parameter type-id='type-id-1822'/>
               <return type-id='type-id-149'/>
@@ -24797,14 +24797,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_'>
             <parameter type-id='type-id-1801' is-artificial='yes'/>
             <parameter type-id='type-id-1832'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__normal_iterator&lt;const VarTable::Entry**&gt;' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE'>
+          <function-decl name='__normal_iterator&lt;const VarTable::Entry**&gt;' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE'>
             <parameter type-id='type-id-1801' is-artificial='yes'/>
             <parameter type-id='type-id-1843'/>
             <return type-id='type-id-149'/>
@@ -24909,7 +24909,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_'>
             <parameter type-id='type-id-1818' is-artificial='yes'/>
             <parameter type-id='type-id-1846'/>
             <return type-id='type-id-149'/>
@@ -26938,7 +26938,7 @@
                   </function-decl>
                 </member-function>
                 <member-function access='public' constructor='yes'>
-                  <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev'>
+                  <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev'>
                     <parameter type-id='type-id-2308' is-artificial='yes'/>
                     <return type-id='type-id-149'/>
                   </function-decl>
@@ -27080,7 +27080,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev'>
+            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev'>
               <parameter type-id='type-id-2306' is-artificial='yes'/>
               <return type-id='type-id-149'/>
             </function-decl>
@@ -27611,14 +27611,14 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-2325' is-artificial='yes'/>
               <parameter type-id='type-id-2389'/>
               <return type-id='type-id-2327'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_insert&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
+            <function-decl name='_M_insert&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
               <parameter type-id='type-id-2325' is-artificial='yes'/>
               <parameter type-id='type-id-2381'/>
               <parameter type-id='type-id-2389'/>
@@ -27671,7 +27671,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIPcEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIPcEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIPcEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIPcEEC2Ev'>
             <parameter type-id='type-id-2342' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -28818,7 +28818,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-2272' is-artificial='yes'/>
             <parameter type-id='type-id-1013'/>
             <return type-id='type-id-149'/>
@@ -28939,7 +28939,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_'>
+          <function-decl name='_S_construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_'>
             <parameter type-id='type-id-2341'/>
             <parameter type-id='type-id-2082'/>
             <parameter type-id='type-id-2389'/>
@@ -28947,7 +28947,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
+          <function-decl name='construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
             <parameter type-id='type-id-2341'/>
             <parameter type-id='type-id-2082'/>
             <parameter type-id='type-id-2389'/>
@@ -29062,7 +29062,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-2292' is-artificial='yes'/>
             <parameter type-id='type-id-2341'/>
             <parameter type-id='type-id-2487'/>
@@ -30401,14 +30401,14 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~OffloadTimer' mangled-name='_ZN12OffloadTimerD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerD1Ev'>
+        <function-decl name='~OffloadTimer' mangled-name='_ZN12OffloadTimerD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerD2Ev'>
           <parameter type-id='type-id-2554' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='OffloadTimer' mangled-name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase'>
+        <function-decl name='OffloadTimer' mangled-name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase'>
           <parameter type-id='type-id-2554' is-artificial='yes'/>
           <parameter type-id='type-id-249'/>
           <parameter type-id='type-id-2553'/>
@@ -30627,14 +30627,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC1EOS4_'>
+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2EOS4_'>
             <parameter type-id='type-id-2694' is-artificial='yes'/>
             <parameter type-id='type-id-1446'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_'>
+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_'>
             <parameter type-id='type-id-2694' is-artificial='yes'/>
             <parameter type-id='type-id-1081'/>
             <return type-id='type-id-149'/>
@@ -30704,7 +30704,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_'>
+          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_'>
             <parameter type-id='type-id-2617' is-artificial='yes'/>
             <parameter type-id='type-id-2616'/>
             <return type-id='type-id-149'/>
@@ -30770,7 +30770,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_'>
+          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_'>
             <parameter type-id='type-id-2613' is-artificial='yes'/>
             <parameter type-id='type-id-1081'/>
             <return type-id='type-id-149'/>
@@ -30850,14 +30850,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKmEEC1EOS2_'>
+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2EOS2_'>
             <parameter type-id='type-id-2693' is-artificial='yes'/>
             <parameter type-id='type-id-1509'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_'>
+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_'>
             <parameter type-id='type-id-2693' is-artificial='yes'/>
             <parameter type-id='type-id-892'/>
             <return type-id='type-id-149'/>
@@ -30934,7 +30934,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_'>
+          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_'>
             <parameter type-id='type-id-2615' is-artificial='yes'/>
             <parameter type-id='type-id-892'/>
             <return type-id='type-id-149'/>
@@ -31000,7 +31000,7 @@
           </function-decl>
         </member-function>
       </class-decl>
-      <function-decl name='get&lt;0ul, long unsigned int const&amp;&gt;' mangled-name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_'>
+      <function-decl name='get&lt;0ul, long unsigned int const&amp;&gt;' mangled-name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_'>
         <parameter type-id='type-id-1509'/>
         <return type-id='type-id-892'/>
       </function-decl>
@@ -31192,7 +31192,7 @@
             <typedef-decl name='type' type-id='type-id-1455' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/type_traits' line='1582' column='1' id='type-id-2684'/>
           </member-type>
       </class-decl>
-      <function-decl name='forward&lt;std::tuple&lt;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE'>
+      <function-decl name='forward&lt;std::tuple&lt;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE'>
         <parameter type-id='type-id-2685'/>
         <return type-id='type-id-1447'/>
       </function-decl>
@@ -31202,7 +31202,7 @@
             <typedef-decl name='type' type-id='type-id-1513' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/type_traits' line='1582' column='1' id='type-id-2686'/>
           </member-type>
       </class-decl>
-      <function-decl name='forward&lt;std::tuple&lt;long unsigned int const&amp;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE'>
+      <function-decl name='forward&lt;std::tuple&lt;long unsigned int const&amp;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE'>
         <parameter type-id='type-id-2687'/>
         <return type-id='type-id-1509'/>
       </function-decl>
@@ -31297,7 +31297,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_'>
             <parameter type-id='type-id-2648' is-artificial='yes'/>
             <parameter type-id='type-id-1654'/>
             <parameter type-id='type-id-205'/>
@@ -31472,7 +31472,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_'>
             <parameter type-id='type-id-2635' is-artificial='yes'/>
             <parameter type-id='type-id-1036'/>
             <parameter type-id='type-id-2730'/>
@@ -31544,7 +31544,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-2620' is-artificial='yes'/>
             <parameter type-id='type-id-1030'/>
             <parameter type-id='type-id-2731'/>
@@ -31717,7 +31717,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev'>
+          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev'>
             <parameter type-id='type-id-2630' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -31978,7 +31978,7 @@
                 </function-decl>
               </member-function>
               <member-function access='private' constructor='yes'>
-                <function-decl name='reference' mangled-name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceC1ERS0_m'>
+                <function-decl name='reference' mangled-name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceC2ERS0_m'>
                   <parameter type-id='type-id-2646' is-artificial='yes'/>
                   <parameter type-id='type-id-2641'/>
                   <parameter type-id='type-id-1084'/>
@@ -31986,7 +31986,7 @@
                 </function-decl>
               </member-function>
               <member-function access='private' destructor='yes'>
-                <function-decl name='~reference' mangled-name='_ZNSt6bitsetILm128EE9referenceD2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceD1Ev'>
+                <function-decl name='~reference' mangled-name='_ZNSt6bitsetILm128EE9referenceD2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceD2Ev'>
                   <parameter type-id='type-id-2646' is-artificial='yes'/>
                   <parameter type-id='type-id-25' is-artificial='yes'/>
                   <return type-id='type-id-149'/>
@@ -32436,7 +32436,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='MyoTable' mangled-name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8MyoTableC1EP18MyoiSharedVarEntryi'>
+        <function-decl name='MyoTable' mangled-name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8MyoTableC2EP18MyoiSharedVarEntryi'>
           <parameter type-id='type-id-2739' is-artificial='yes'/>
           <parameter type-id='type-id-2738'/>
           <parameter type-id='type-id-25'/>
@@ -32732,7 +32732,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='MyoWrapper' mangled-name='_ZN10MyoWrapperC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10MyoWrapperC1Ev'>
+        <function-decl name='MyoWrapper' mangled-name='_ZN10MyoWrapperC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10MyoWrapperC2Ev'>
           <parameter type-id='type-id-2764' is-artificial='yes'/>
           <return type-id='type-id-149'/>
         </function-decl>
@@ -33369,7 +33369,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;MyoTable&gt;' mangled-name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;MyoTable&gt;' mangled-name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-2856' is-artificial='yes'/>
               <parameter type-id='type-id-2774'/>
               <return type-id='type-id-2858'/>
@@ -33561,14 +33561,14 @@
             </function-decl>
           </member-function>
           <member-function access='private' destructor='yes'>
-            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev'>
+            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev'>
               <parameter type-id='type-id-2851' is-artificial='yes'/>
               <parameter type-id='type-id-25' is-artificial='yes'/>
               <return type-id='type-id-149'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev'>
+            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev'>
               <parameter type-id='type-id-2851' is-artificial='yes'/>
               <return type-id='type-id-149'/>
             </function-decl>
@@ -33613,7 +33613,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev'>
             <parameter type-id='type-id-2865' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
@@ -34162,14 +34162,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev'>
+          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev'>
             <parameter type-id='type-id-2847' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-2847' is-artificial='yes'/>
             <parameter type-id='type-id-2864'/>
             <parameter type-id='type-id-2940'/>
@@ -34259,7 +34259,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;MyoTable, MyoTable&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;MyoTable, MyoTable&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-2783' is-artificial='yes'/>
             <parameter type-id='type-id-2739'/>
             <parameter type-id='type-id-2774'/>
@@ -34274,13 +34274,13 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev'>
             <parameter type-id='type-id-2783' is-artificial='yes'/>
             <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev'>
             <parameter type-id='type-id-2783' is-artificial='yes'/>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <return type-id='type-id-149'/>
@@ -35207,7 +35207,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-3010' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
@@ -35220,7 +35220,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-3010' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
@@ -35233,7 +35233,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-3010' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
@@ -35246,7 +35246,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-3010' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
@@ -35259,7 +35259,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-3010' is-artificial='yes'/>
           <parameter type-id='type-id-25' is-artificial='yes'/>
           <return type-id='type-id-149'/>
@@ -35319,7 +35319,7 @@
         </function-decl>
       </member-function>
       <member-function access='private'>
-        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE'>
+        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE'>
           <parameter type-id='type-id-3014' is-artificial='yes'/>
           <parameter type-id='type-id-2954'/>
           <return type-id='type-id-149'/>
@@ -35373,7 +35373,7 @@
         </function-decl>
       </member-function>
       <member-function access='private'>
-        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE'>
+        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE'>
           <parameter type-id='type-id-3018' is-artificial='yes'/>
           <parameter type-id='type-id-2956'/>
           <return type-id='type-id-149'/>
@@ -35508,7 +35508,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='MYOFuncTableList' mangled-name='_ZN16MYOFuncTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN16MYOFuncTableListC1Ev'>
+        <function-decl name='MYOFuncTableList' mangled-name='_ZN16MYOFuncTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN16MYOFuncTableListC2Ev'>
           <parameter type-id='type-id-3026' is-artificial='yes'/>
           <return type-id='type-id-149'/>
         </function-decl>
@@ -35554,7 +35554,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='MYOVarTableList' mangled-name='_ZN15MYOVarTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN15MYOVarTableListC1Ev'>
+        <function-decl name='MYOVarTableList' mangled-name='_ZN15MYOVarTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN15MYOVarTableListC2Ev'>
           <parameter type-id='type-id-3028' is-artificial='yes'/>
           <return type-id='type-id-149'/>
         </function-decl>
@@ -35607,7 +35607,7 @@
         </function-decl>
       </member-function>
       <member-function access='private'>
-        <function-decl name='TableList' mangled-name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI8VarTableEC1EPNS1_4NodeE'>
+        <function-decl name='TableList' mangled-name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI8VarTableEC2EPNS1_4NodeE'>
           <parameter type-id='type-id-3031' is-artificial='yes'/>
           <parameter type-id='type-id-1784'/>
           <return type-id='type-id-149'/>
diff --git a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
index 391968ebbc51..9110d9c7f2ef 100644
--- a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
+++ b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
@@ -553,11 +553,11 @@
     <elf-symbol name='_ZSt16__introsort_loopIPN16HeapProfileTable8Snapshot5EntryElEvT_S4_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt16__introsort_loopIPP17HeapProfileBucketlPFbP16HeapProfileStatsS4_EEvT_S7_T0_T1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray' is-defined='yes'/>
-    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray_nothrow' is-defined='yes'/>
-    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_delete' is-defined='yes'/>
+    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZdlPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_newarray' is-defined='yes'/>
+    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZnamRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_Znwm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZnwmRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -566,53 +566,53 @@
     <elf-symbol name='__libc_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_pvalloc,pvalloc' is-defined='yes'/>
+    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc,tc_valloc' is-defined='yes'/>
+    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_cfree,__libc_cfree' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_malloc,__libc_malloc' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='malloc_stats' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_size,tc_malloc_size' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mallopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mmap64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mremap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='munmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_posix_memalign,__posix_memalign' is-defined='yes'/>
+    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sbrk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='tc_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc,__libc_calloc' is-defined='yes'/>
-    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_cfree,cfree' is-defined='yes'/>
+    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPv' is-defined='yes'/>
     <elf-symbol name='tc_delete_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPvRKSt9nothrow_t' is-defined='yes'/>
-    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPv' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPvRKSt9nothrow_t' is-defined='yes'/>
     <elf-symbol name='tc_free' type='func-type' binding='global-binding' visibility='default-visibility' alias='free,__libc_free' is-defined='yes'/>
     <elf-symbol name='tc_mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='mallinfo' is-defined='yes'/>
-    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_malloc,malloc' is-defined='yes'/>
+    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size,malloc_size' is-defined='yes'/>
     <elf-symbol name='tc_malloc_skip_new_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='tc_malloc_stats' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_stats' is-defined='yes'/>
     <elf-symbol name='tc_mallopt' type='func-type' binding='global-binding' visibility='default-visibility' alias='mallopt' is-defined='yes'/>
     <elf-symbol name='tc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='memalign,__libc_memalign' is-defined='yes'/>
     <elf-symbol name='tc_new' type='func-type' binding='global-binding' visibility='default-visibility' alias='_Znwm' is-defined='yes'/>
     <elf-symbol name='tc_new_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnwmRKSt9nothrow_t' is-defined='yes'/>
-    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_Znam' is-defined='yes'/>
     <elf-symbol name='tc_newarray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnamRKSt9nothrow_t' is-defined='yes'/>
-    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__posix_memalign,posix_memalign' is-defined='yes'/>
+    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc,__libc_pvalloc' is-defined='yes'/>
     <elf-symbol name='tc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_realloc,realloc' is-defined='yes'/>
     <elf-symbol name='tc_set_new_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_valloc,valloc' is-defined='yes'/>
     <elf-symbol name='tc_version' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
@@ -26358,7 +26358,7 @@
       <parameter type-id='type-id-1' name='value' filepath='src/tcmalloc.cc' line='1720' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='tc_malloc_size' mangled-name='malloc_usable_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='tc_malloc_size' mangled-name='tc_malloc_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc_size'>
       <parameter type-id='type-id-53' name='ptr' filepath='src/tcmalloc.cc' line='1730' column='1'/>
       <return type-id='type-id-57'/>
     </function-decl>
@@ -26368,17 +26368,17 @@
     <function-decl name='tc_mallinfo' mangled-name='tc_mallinfo' filepath='src/tcmalloc.cc' line='1725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_mallinfo'>
       <return type-id='type-id-1338'/>
     </function-decl>
-    <function-decl name='tc_posix_memalign' mangled-name='posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='posix_memalign'>
+    <function-decl name='tc_posix_memalign' mangled-name='tc_posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_posix_memalign'>
       <parameter type-id='type-id-120' name='result_ptr' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <parameter type-id='type-id-57' name='align' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <parameter type-id='type-id-57' name='size' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='tc_pvalloc' mangled-name='__libc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_pvalloc'>
+    <function-decl name='tc_pvalloc' mangled-name='tc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_pvalloc'>
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-53'/>
     </function-decl>
-    <function-decl name='tc_valloc' mangled-name='__libc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_valloc'>
+    <function-decl name='tc_valloc' mangled-name='tc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_valloc'>
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-53'/>
     </function-decl>
@@ -26392,7 +26392,7 @@
       <parameter type-id='type-id-1398'/>
       <return type-id='type-id-53'/>
     </function-decl>
-    <function-decl name='tc_newarray' mangled-name='_Znam' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Znam'>
+    <function-decl name='tc_newarray' mangled-name='tc_newarray' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_newarray'>
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-53'/>
     </function-decl>
@@ -26405,7 +26405,7 @@
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-53'/>
     </function-decl>
-    <function-decl name='tc_malloc' mangled-name='malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='tc_malloc' mangled-name='tc_malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc'>
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-53'/>
     </function-decl>
@@ -26422,11 +26422,11 @@
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-53'/>
     </function-decl>
-    <function-decl name='tc_cfree' mangled-name='cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='tc_cfree' mangled-name='tc_cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_cfree'>
       <parameter type-id='type-id-53'/>
       <return type-id='type-id-56'/>
     </function-decl>
-    <function-decl name='tc_delete' mangled-name='_ZdlPv' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdlPv'>
+    <function-decl name='tc_delete' mangled-name='tc_delete' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_delete'>
       <parameter type-id='type-id-53'/>
       <return type-id='type-id-56'/>
     </function-decl>
@@ -26435,11 +26435,11 @@
       <parameter type-id='type-id-1398'/>
       <return type-id='type-id-56'/>
     </function-decl>
-    <function-decl name='tc_deletearray' mangled-name='_ZdaPv' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPv'>
+    <function-decl name='tc_deletearray' mangled-name='tc_deletearray' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray'>
       <parameter type-id='type-id-53'/>
       <return type-id='type-id-56'/>
     </function-decl>
-    <function-decl name='tc_deletearray_nothrow' mangled-name='_ZdaPvRKSt9nothrow_t' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPvRKSt9nothrow_t'>
+    <function-decl name='tc_deletearray_nothrow' mangled-name='tc_deletearray_nothrow' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray_nothrow'>
       <parameter type-id='type-id-53' name='p' filepath='src/tcmalloc.cc' line='1636' column='1'/>
       <parameter type-id='type-id-1398'/>
       <return type-id='type-id-56'/>
diff --git a/tests/data/test-read-dwarf/test2.so.abi b/tests/data/test-read-dwarf/test2.so.abi
index 98dd9a607266..e3cee34c5826 100644
--- a/tests/data/test-read-dwarf/test2.so.abi
+++ b/tests/data/test-read-dwarf/test2.so.abi
@@ -6,10 +6,10 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN1a16build_first_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN1a17build_second_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -35,7 +35,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC1Ev'>
+        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC2Ev'>
           <parameter type-id='type-id-7' is-artificial='yes'/>
           <return type-id='type-id-5'/>
         </function-decl>
@@ -63,7 +63,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC1Ev'>
+        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC2Ev'>
           <parameter type-id='type-id-9' is-artificial='yes'/>
           <return type-id='type-id-5'/>
         </function-decl>
diff --git a/tests/data/test-read-dwarf/test2.so.hash.abi b/tests/data/test-read-dwarf/test2.so.hash.abi
index bb814f733f1d..5e1ae6d13ba7 100644
--- a/tests/data/test-read-dwarf/test2.so.hash.abi
+++ b/tests/data/test-read-dwarf/test2.so.hash.abi
@@ -6,10 +6,10 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN1a16build_first_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN1a17build_second_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -35,7 +35,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC1Ev'>
+        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC2Ev'>
           <parameter type-id='82c95d70' is-artificial='yes'/>
           <return type-id='48b5725f'/>
         </function-decl>
@@ -63,7 +63,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC1Ev'>
+        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC2Ev'>
           <parameter type-id='fc0abc74' is-artificial='yes'/>
           <return type-id='48b5725f'/>
         </function-decl>
diff --git a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
index 438d712fb477..5b141a06c073 100644
--- a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
+++ b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
@@ -7,32 +7,32 @@
   </elf-needed>
   <elf-function-symbols>
     <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__pbase_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__pbase_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__pbase_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__si_class_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__si_class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__si_class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
@@ -736,14 +736,14 @@
     <elf-symbol name='_ZNKSt9type_info14__is_pointer_pEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNKSt9type_info15__is_function_pEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcEC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIcEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIcEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcEC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcEC1ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIcEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIcEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIwEC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwEC2ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIwEC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIwEC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIwEC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwEC1ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -837,32 +837,32 @@
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -949,8 +949,8 @@
     <elf-symbol name='_ZNSo5writeEPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo6sentryC1ERSo' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo6sentryC2ERSo' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSo6sentryC1ERSo@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSo6sentryD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSo6sentryD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSo6sentryD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSo6sentryD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSo6sentryD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSo6sentryD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSo8_M_writeEPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo9_M_insertIPKvEERSoT_' version='GLIBCXX_3.4.9' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo9_M_insertIbEERSoT_' version='GLIBCXX_3.4.9' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -985,8 +985,8 @@
     <elf-symbol name='_ZNSolsEx' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSolsEy' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs10_S_compareEmm' version='GLIBCXX_3.4.16' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSs12_Alloc_hiderC1EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSs12_Alloc_hiderC1EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSs12_M_leak_hardEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs12_S_constructEmcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1075,33 +1075,33 @@
     <elf-symbol name='_ZNSs9_M_mutateEmmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs9push_backEc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1EOSs' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2ERKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2ERKSsmm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1ERKSsmmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1ESt16initializer_listIcERKSaIcE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1EmcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1IPcEET_S1_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2EOSs' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EOSs@@GLIBCXX_3.4.14' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSsmm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2ERKSsmmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2ESt16initializer_listIcERKSaIcE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2EmcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2IPcEET_S1_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsaSEOSs' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsaSEPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsaSERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1130,45 +1130,45 @@
     <elf-symbol name='_ZNSt10istrstreamD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10money_base20_S_construct_patternEccc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstream3strEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstream6freezeEb' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1179,25 +1179,25 @@
     <elf-symbol name='_ZNSt10ostrstreamD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstreamD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIcE2eqERKcS2_' version='GLIBCXX_3.4.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIcE2eqERKcS2_' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIwE2eqERKwS2_' version='GLIBCXX_3.4.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4' is-defined='yes'/>
@@ -1205,16 +1205,16 @@
     <elf-symbol name='_ZNSt11logic_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11logic_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11logic_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11logic_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11logic_errorD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11logic_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11logic_errorD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11range_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11regex_errorD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11regex_errorD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11regex_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11regex_errorD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11regex_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcE2fdEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcE4fileEv' version='GLIBCXX_3.4.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1229,16 +1229,16 @@
     <elf-symbol name='_ZNSt12__basic_fileIcE9showmanycEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__basic_fileIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__basic_fileIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__basic_fileIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__basic_fileIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12bad_weak_ptrD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12bad_weak_ptrD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12bad_weak_ptrD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12ctype_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12ctype_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12ctype_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12ctype_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1257,11 +1257,11 @@
     <elf-symbol name='_ZNSt12length_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12length_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12length_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12length_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12out_of_rangeD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf3strEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf6freezeEb' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf6setbufEPcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1273,25 +1273,25 @@
     <elf-symbol name='_ZNSt12strstreambuf8overflowEi' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf9pbackfailEi' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambufC1El' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambufC2El' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1El@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambufD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12system_errorD0Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12system_errorD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12system_errorD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
@@ -1304,8 +1304,8 @@
     <elf-symbol name='_ZNSt13__future_base12_Result_baseD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13__future_base12_Result_baseD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD0Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD1Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD2Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD1Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD2Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17' is-defined='yes'/>
     <elf-symbol name='_ZNSt13bad_exceptionD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13bad_exceptionD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13bad_exceptionD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1360,8 +1360,8 @@
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1420,8 +1420,8 @@
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv' version='GLIBCXX_3.4.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1456,8 +1456,8 @@
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1493,8 +1493,8 @@
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13runtime_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13runtime_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13runtime_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13runtime_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13runtime_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13runtime_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13runtime_errorD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1557,36 +1557,36 @@
     <elf-symbol name='_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14error_categoryC1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14error_categoryC2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14error_categoryC1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14error_categoryC2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt14error_categoryD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14error_categoryD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14error_categoryD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14error_categoryD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt14overflow_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14overflow_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14overflow_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14overflow_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14overflow_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14overflow_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14overflow_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base10_M_reverseEv' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base11_M_transferEPS_S0_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base4hookEPS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1597,12 +1597,12 @@
     <elf-symbol name='_ZNSt15_List_node_base8transferEPS_S0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base9_M_unhookEv' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptr4swapERS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1ERKS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2ERKS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrD1Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrD2Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrD1Ev@@CXXABI_1.3.3' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptraSERKS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1646,8 +1646,8 @@
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1683,9 +1683,9 @@
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1703,9 +1703,9 @@
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1721,59 +1721,59 @@
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15underflow_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15underflow_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15underflow_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15underflow_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15underflow_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15underflow_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15underflow_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1781,61 +1781,61 @@
     <elf-symbol name='_ZNSt16__numpunct_cacheIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16invalid_argumentC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16invalid_argumentC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16invalid_argumentD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16invalid_argumentD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16invalid_argumentD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16invalid_argumentD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16invalid_argumentD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16nested_exceptionD0Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16nested_exceptionD1Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16nested_exceptionD2Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16nested_exceptionD1Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16nested_exceptionD2Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17bad_function_callD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17bad_function_callD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17bad_function_callD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17bad_function_callD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17bad_function_callD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIwLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIwLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1869,8 +1869,8 @@
     <elf-symbol name='_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18condition_variableC1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18condition_variableC2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18condition_variableD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18condition_variableD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18condition_variableD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18condition_variableD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1909,24 +1909,24 @@
     <elf-symbol name='_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5' is-defined='yes'/>
     <elf-symbol name='_ZNSt22condition_variable_anyC1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt22condition_variable_anyC2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt22condition_variable_anyD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt22condition_variable_anyD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt22condition_variable_anyD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt22condition_variable_anyD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcE13classic_tableEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcEC1EP15__locale_structPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcEC1EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcEC1EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcEC2EP15__locale_structPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcEC2EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcEC2EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIwE19_M_initialize_ctypeEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6__norm15_List_node_base10_M_reverseEv' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6__norm15_List_node_base4hookEPS0_' version='GLIBCXX_3.4.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1947,37 +1947,37 @@
     <elf-symbol name='_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplC1ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplC1ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplC2ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplC2ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet13_S_get_c_nameEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet15_S_get_c_localeEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facetD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5facetD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5facetD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5facetD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5facetD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale6globalERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale7classicEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2EPKc@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC1ERKS_S1_i' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1EPKc@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC2ERKS_S1_i' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeaSERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6thread20hardware_concurrencyEv' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1995,24 +1995,24 @@
     <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -2021,16 +2021,16 @@
     <elf-symbol name='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8__detail15_List_node_base10_M_reverseEv' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8__detail15_List_node_base4swapERS0_S1_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2044,23 +2044,23 @@
     <elf-symbol name='_ZNSt8ios_base17_M_call_callbacksENS_5eventE' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base20_M_dispose_callbacksEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base5imbueERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base6xallocEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base7_M_initEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base7failureD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_baseC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_baseC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_baseD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_baseD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_baseD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_baseD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_baseD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
@@ -2068,33 +2068,33 @@
     <elf-symbol name='_ZNSt8messagesIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2108,19 +2108,19 @@
     <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImEC1ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImEC1ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8valarrayImEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImEC2ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImEC2ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8valarrayImEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8valarrayImEixEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSt9__atomic011atomic_flag5clearESt12memory_order' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11' is-defined='yes'/>
@@ -2148,12 +2148,12 @@
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2173,20 +2173,20 @@
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9exceptionD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt9exceptionD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt9exceptionD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -3698,7 +3698,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__array_type_info' mangled-name='_ZN10__cxxabiv117__array_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/array_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__array_type_info' mangled-name='_ZN10__cxxabiv117__array_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/array_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-2' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -3776,7 +3776,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-12' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -4004,7 +4004,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__class_type_info' mangled-name='_ZN10__cxxabiv117__class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__class_type_info' mangled-name='_ZN10__cxxabiv117__class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -4833,13 +4833,13 @@
             </function-decl>
           </member-function>
           <member-function access='private' constructor='yes'>
-            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3'>
+            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3'>
               <parameter type-id='type-id-115' is-artificial='yes'/>
               <return type-id='type-id-5'/>
             </function-decl>
           </member-function>
           <member-function access='private' constructor='yes'>
-            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3'>
+            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3'>
               <parameter type-id='type-id-115' is-artificial='yes'/>
               <parameter type-id='type-id-118'/>
               <return type-id='type-id-5'/>
@@ -4996,7 +4996,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__enum_type_info' mangled-name='_ZN10__cxxabiv116__enum_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/enum_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__enum_type_info' mangled-name='_ZN10__cxxabiv116__enum_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/enum_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-121' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5036,7 +5036,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__function_type_info' mangled-name='_ZN10__cxxabiv120__function_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/function_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__function_type_info' mangled-name='_ZN10__cxxabiv120__function_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/function_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-123' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5080,7 +5080,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__fundamental_type_info' mangled-name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/fundamental_type_info.cc' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__fundamental_type_info' mangled-name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/fundamental_type_info.cc' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-127' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5223,7 +5223,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~nested_exception' mangled-name='_ZNSt16nested_exceptionD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/nested_exception.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5'>
+          <function-decl name='~nested_exception' mangled-name='_ZNSt16nested_exceptionD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/nested_exception.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5'>
             <parameter type-id='type-id-137' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5473,7 +5473,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__pointer_type_info' mangled-name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/pointer_type_info.cc' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__pointer_type_info' mangled-name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/pointer_type_info.cc' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-153' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5815,7 +5815,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__vmi_class_type_info' mangled-name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/vmi_class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__vmi_class_type_info' mangled-name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/vmi_class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-177' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -6685,7 +6685,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' constructor='yes'>
-          <function-decl name='error_category' mangled-name='_ZNSt14error_categoryC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/system_error' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15'>
+          <function-decl name='error_category' mangled-name='_ZNSt14error_categoryC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/system_error' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-365' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -6779,7 +6779,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-12' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -8715,7 +8715,7 @@
                 </function-decl>
               </member-function>
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
-                <function-decl name='~_Async_state_common' mangled-name='_ZNSt13__future_base19_Async_state_commonD2Ev' filepath='../../.././libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17'>
+                <function-decl name='~_Async_state_common' mangled-name='_ZNSt13__future_base19_Async_state_commonD2Ev' filepath='../../.././libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17'>
                   <parameter type-id='type-id-495' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
@@ -10155,7 +10155,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-799' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -10182,7 +10182,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-799' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -10470,7 +10470,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~basic_streambuf' mangled-name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~basic_streambuf' mangled-name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-813' is-artificial='yes'/>
             <parameter type-id='type-id-6'/>
             <return type-id='type-id-5'/>
@@ -10728,7 +10728,7 @@
                 </function-decl>
               </member-function>
               <member-function access='private' constructor='yes'>
-                <function-decl name='failure' mangled-name='_ZNSt8ios_base7failureC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4'>
+                <function-decl name='failure' mangled-name='_ZNSt8ios_base7failureC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-888' is-artificial='yes'/>
                   <parameter type-id='type-id-323'/>
                   <return type-id='type-id-5'/>
@@ -10749,7 +10749,7 @@
                 </function-decl>
               </member-function>
               <member-function access='private' destructor='yes' vtable-offset='-1'>
-                <function-decl name='~failure' mangled-name='_ZNSt8ios_base7failureD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4'>
+                <function-decl name='~failure' mangled-name='_ZNSt8ios_base7failureD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-888' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
@@ -10803,13 +10803,13 @@
                 </function-decl>
               </member-function>
               <member-function access='private' constructor='yes'>
-                <function-decl name='Init' mangled-name='_ZNSt8ios_base4InitC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4'>
+                <function-decl name='Init' mangled-name='_ZNSt8ios_base4InitC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-893' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
               </member-function>
               <member-function access='private' destructor='yes'>
-                <function-decl name='~Init' mangled-name='_ZNSt8ios_base4InitD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4'>
+                <function-decl name='~Init' mangled-name='_ZNSt8ios_base4InitD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-893' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
@@ -11178,7 +11178,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ios_base' mangled-name='_ZNSt8ios_baseD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ios_base' mangled-name='_ZNSt8ios_baseD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-906' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -11701,7 +11701,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='basic_streambuf' mangled-name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_streambuf' mangled-name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-816' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -12080,7 +12080,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_Alloc_hider' mangled-name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4'>
+                <function-decl name='_Alloc_hider' mangled-name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-822' is-artificial='yes'/>
                   <parameter type-id='type-id-93'/>
                   <parameter type-id='type-id-689'/>
@@ -13468,14 +13468,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1ERKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2ERKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-820' is-artificial='yes'/>
             <parameter type-id='type-id-689'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~basic_string' mangled-name='_ZNSsD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~basic_string' mangled-name='_ZNSsD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-820' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -13489,7 +13489,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt; &gt;' mangled-name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt; &gt;' mangled-name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-820' is-artificial='yes'/>
             <parameter type-id='type-id-264'/>
             <parameter type-id='type-id-264'/>
@@ -13498,7 +13498,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSsmm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1ERKSsmm@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSsmm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2ERKSsmm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-820' is-artificial='yes'/>
             <parameter type-id='type-id-740'/>
             <parameter type-id='type-id-745'/>
@@ -13526,7 +13526,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-820' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-689'/>
@@ -13534,7 +13534,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcmRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcmRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-820' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-745'/>
@@ -13543,7 +13543,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;const char*&gt;' mangled-name='_ZNSsC2IPKcEET_S2_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;const char*&gt;' mangled-name='_ZNSsC2IPKcEET_S2_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-820' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-4'/>
@@ -13608,7 +13608,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaIcEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIcEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='allocator' mangled-name='_ZNSaIcEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIcEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-797' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -15376,14 +15376,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-826' is-artificial='yes'/>
             <parameter type-id='type-id-825'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-826' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -15398,7 +15398,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-826' is-artificial='yes'/>
             <parameter type-id='type-id-692'/>
             <return type-id='type-id-5'/>
@@ -15419,7 +15419,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;wchar_t*, std::basic_string&lt;wchar_t&gt; &gt; &gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;wchar_t*, std::basic_string&lt;wchar_t&gt; &gt; &gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-826' is-artificial='yes'/>
             <parameter type-id='type-id-267'/>
             <parameter type-id='type-id-267'/>
@@ -15437,7 +15437,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;wchar_t*&gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;wchar_t*&gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-826' is-artificial='yes'/>
             <parameter type-id='type-id-333'/>
             <parameter type-id='type-id-333'/>
@@ -15446,7 +15446,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-826' is-artificial='yes'/>
             <parameter type-id='type-id-748'/>
             <parameter type-id='type-id-753'/>
@@ -15482,7 +15482,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-826' is-artificial='yes'/>
             <parameter type-id='type-id-354'/>
             <parameter type-id='type-id-692'/>
@@ -15544,7 +15544,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaIwEC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIwEC1ERKS_@@GLIBCXX_3.4'>
+          <function-decl name='allocator' mangled-name='_ZNSaIwEC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIwEC2ERKS_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-798' is-artificial='yes'/>
             <parameter type-id='type-id-692'/>
             <return type-id='type-id-5'/>
@@ -16362,7 +16362,7 @@
                 </function-decl>
               </member-function>
               <member-function access='private' constructor='yes'>
-                <function-decl name='sentry' mangled-name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/istream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4'>
+                <function-decl name='sentry' mangled-name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/istream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-812' is-artificial='yes'/>
                   <parameter type-id='type-id-808'/>
                   <parameter type-id='type-id-42'/>
@@ -17565,7 +17565,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_filebuf' mangled-name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/fstream.tcc' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_filebuf' mangled-name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/fstream.tcc' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1109' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -19545,7 +19545,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~condition_variable' mangled-name='_ZNSt18condition_variableD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11'>
+          <function-decl name='~condition_variable' mangled-name='_ZNSt18condition_variableD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11'>
             <parameter type-id='type-id-1207' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -19605,7 +19605,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~condition_variable_any' mangled-name='_ZNSt22condition_variable_anyD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11'>
+          <function-decl name='~condition_variable_any' mangled-name='_ZNSt22condition_variable_anyD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11'>
             <parameter type-id='type-id-1211' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -22174,7 +22174,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~bad_function_call' mangled-name='_ZNSt17bad_function_callD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/functional' line='1633' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15'>
+          <function-decl name='~bad_function_call' mangled-name='_ZNSt17bad_function_callD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/functional' line='1633' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-1503' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -26389,7 +26389,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~regex_error' mangled-name='_ZNSt11regex_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++11/regex.cc' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15'>
+          <function-decl name='~regex_error' mangled-name='_ZNSt11regex_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++11/regex.cc' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-1803' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -28444,7 +28444,7 @@
                 </function-decl>
               </member-function>
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
-                <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4'>
+                <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-2076' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
@@ -28598,14 +28598,14 @@
                 </function-decl>
               </member-function>
               <member-function access='private' destructor='yes'>
-                <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4'>
+                <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-2088' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
               </member-function>
               <member-function access='private' constructor='yes'>
-                <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4'>
+                <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-2088' is-artificial='yes'/>
                   <parameter type-id='type-id-2089'/>
                   <parameter type-id='type-id-94'/>
@@ -29017,21 +29017,21 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2120' is-artificial='yes'/>
             <parameter type-id='type-id-862'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2120' is-artificial='yes'/>
             <parameter type-id='type-id-2088'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2120' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -29044,7 +29044,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPKc@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPKc@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2120' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <return type-id='type-id-5'/>
@@ -29060,7 +29060,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2120' is-artificial='yes'/>
             <parameter type-id='type-id-862'/>
             <parameter type-id='type-id-4'/>
@@ -29635,7 +29635,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2068' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -29884,14 +29884,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2105' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2105' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-94'/>
@@ -29913,7 +29913,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2105' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -30597,7 +30597,7 @@
                 </function-decl>
               </member-function>
               <member-function access='private' destructor='yes'>
-                <function-decl name='~sentry' mangled-name='_ZNSo6sentryD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSo6sentryD1Ev@@GLIBCXX_3.4'>
+                <function-decl name='~sentry' mangled-name='_ZNSo6sentryD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSo6sentryD2Ev@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-2233' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
@@ -31008,7 +31008,7 @@
                 </function-decl>
               </member-function>
               <member-function access='private' constructor='yes'>
-                <function-decl name='sentry' mangled-name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4'>
+                <function-decl name='sentry' mangled-name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4'>
                   <parameter type-id='type-id-2249' is-artificial='yes'/>
                   <parameter type-id='type-id-2206'/>
                   <return type-id='type-id-5'/>
@@ -31767,7 +31767,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4'>
+          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2211' is-artificial='yes'/>
             <parameter type-id='type-id-875'/>
             <return type-id='type-id-5'/>
@@ -32051,7 +32051,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4'>
+          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2212' is-artificial='yes'/>
             <parameter type-id='type-id-875'/>
             <return type-id='type-id-5'/>
@@ -33322,7 +33322,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2092' is-artificial='yes'/>
             <parameter type-id='type-id-2356'/>
             <parameter type-id='type-id-42'/>
@@ -33345,7 +33345,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2092' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -36349,7 +36349,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='collate_byname' mangled-name='_ZNSt14collate_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='770' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='collate_byname' mangled-name='_ZNSt14collate_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='770' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2729' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -36371,7 +36371,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate_byname' mangled-name='_ZNSt14collate_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate_byname' mangled-name='_ZNSt14collate_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2729' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -36389,7 +36389,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2727' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -36429,7 +36429,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2731' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -36469,7 +36469,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2739' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -36491,7 +36491,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2739' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -36534,7 +36534,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2737' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -36577,7 +36577,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2735' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -36595,7 +36595,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2744' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -36635,7 +36635,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2742' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -36657,7 +36657,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2742' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -36993,7 +36993,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2764' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -37249,7 +37249,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2094' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -37599,7 +37599,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2095' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -37620,7 +37620,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2095' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -37799,7 +37799,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2099' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -37897,7 +37897,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2100' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -38237,7 +38237,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2103' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -38344,7 +38344,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2766' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -38950,7 +38950,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2108' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -39108,7 +39108,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2112' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -39667,14 +39667,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2093' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2093' is-artificial='yes'/>
             <parameter type-id='type-id-2787'/>
             <parameter type-id='type-id-94'/>
@@ -39841,7 +39841,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2096' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -39985,7 +39985,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2097' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -40000,7 +40000,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2097' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-4'/>
@@ -40023,7 +40023,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2097' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -40163,7 +40163,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2758' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -40184,7 +40184,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2758' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -40317,7 +40317,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2098' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-4'/>
@@ -40480,7 +40480,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2759' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -40501,7 +40501,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2759' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -40638,7 +40638,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2101' is-artificial='yes'/>
             <parameter type-id='type-id-2724'/>
             <parameter type-id='type-id-94'/>
@@ -40646,7 +40646,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2101' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-4'/>
@@ -40900,14 +40900,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2106' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2106' is-artificial='yes'/>
             <parameter type-id='type-id-2789'/>
             <parameter type-id='type-id-94'/>
@@ -40915,7 +40915,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2106' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-94'/>
@@ -40937,7 +40937,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2106' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -41045,7 +41045,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2109' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -41074,7 +41074,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2109' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -41218,7 +41218,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2110' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -41233,7 +41233,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2110' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-4'/>
@@ -41535,14 +41535,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2111' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2111' is-artificial='yes'/>
             <parameter type-id='type-id-2785'/>
             <parameter type-id='type-id-94'/>
@@ -41550,7 +41550,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2111' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-4'/>
@@ -41573,7 +41573,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2111' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -41864,14 +41864,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2114' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2114' is-artificial='yes'/>
             <parameter type-id='type-id-2858'/>
             <parameter type-id='type-id-94'/>
@@ -41879,7 +41879,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2114' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-4'/>
@@ -41902,7 +41902,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2114' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -41990,14 +41990,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2117' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2117' is-artificial='yes'/>
             <parameter type-id='type-id-2055'/>
             <parameter type-id='type-id-4'/>
@@ -42230,7 +42230,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2769' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -42251,7 +42251,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2769' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -42436,7 +42436,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2771' is-artificial='yes'/>
             <parameter type-id='type-id-94'/>
             <return type-id='type-id-5'/>
@@ -44632,7 +44632,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3058' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44658,7 +44658,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3065' is-artificial='yes'/>
             <parameter type-id='type-id-323'/>
             <return type-id='type-id-5'/>
@@ -44702,7 +44702,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='out_of_range' mangled-name='_ZNSt12out_of_rangeC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='out_of_range' mangled-name='_ZNSt12out_of_rangeC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3060' is-artificial='yes'/>
             <parameter type-id='type-id-323'/>
             <return type-id='type-id-5'/>
@@ -44723,7 +44723,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~out_of_range' mangled-name='_ZNSt12out_of_rangeD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~out_of_range' mangled-name='_ZNSt12out_of_rangeD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3060' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44799,7 +44799,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~invalid_argument' mangled-name='_ZNSt16invalid_argumentD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~invalid_argument' mangled-name='_ZNSt16invalid_argumentD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3055' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44854,7 +44854,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='underflow_error' mangled-name='_ZNSt15underflow_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='underflow_error' mangled-name='_ZNSt15underflow_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3067' is-artificial='yes'/>
             <parameter type-id='type-id-323'/>
             <return type-id='type-id-5'/>
@@ -44913,7 +44913,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~overflow_error' mangled-name='_ZNSt14overflow_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~overflow_error' mangled-name='_ZNSt14overflow_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3062' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44930,7 +44930,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='range_error' mangled-name='_ZNSt11range_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='range_error' mangled-name='_ZNSt11range_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3064' is-artificial='yes'/>
             <parameter type-id='type-id-323'/>
             <return type-id='type-id-5'/>
@@ -44951,7 +44951,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~range_error' mangled-name='_ZNSt11range_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~range_error' mangled-name='_ZNSt11range_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3064' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -45250,7 +45250,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-170'/>
             <parameter type-id='type-id-88'/>
@@ -45265,7 +45265,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKhl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKhl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-84'/>
             <parameter type-id='type-id-872'/>
@@ -45273,7 +45273,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKal' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKal' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-2954'/>
             <parameter type-id='type-id-872'/>
@@ -45281,7 +45281,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKcl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKcl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-872'/>
@@ -45289,7 +45289,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPhlS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPhlS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-2615'/>
             <parameter type-id='type-id-872'/>
@@ -45298,7 +45298,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPalS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPalS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-2616'/>
             <parameter type-id='type-id-872'/>
@@ -45307,7 +45307,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPclS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPclS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-93'/>
             <parameter type-id='type-id-872'/>
@@ -45330,7 +45330,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~strstreambuf' mangled-name='_ZNSt12strstreambufD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~strstreambuf' mangled-name='_ZNSt12strstreambufD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3097' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -46537,14 +46537,14 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~valarray' mangled-name='_ZNSt8valarrayImED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~valarray' mangled-name='_ZNSt8valarrayImED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3180' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='valarray' mangled-name='_ZNSt8valarrayImEC2ERKS0_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4'>
+          <function-decl name='valarray' mangled-name='_ZNSt8valarrayImEC2ERKS0_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3180' is-artificial='yes'/>
             <parameter type-id='type-id-3158'/>
             <return type-id='type-id-5'/>
@@ -48115,7 +48115,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3269' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -48155,7 +48155,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3273' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -48195,7 +48195,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3279' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -48238,7 +48238,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3277' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -48303,7 +48303,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3275' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -48321,7 +48321,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3283' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -48361,7 +48361,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3281' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-94'/>
@@ -48766,7 +48766,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3308' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -49243,7 +49243,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype_byname' mangled-name='_ZNSt12ctype_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/ctype_members.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype_byname' mangled-name='_ZNSt12ctype_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/ctype_members.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3316' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
diff --git a/tests/data/test-read-dwarf/test3.so.abi b/tests/data/test-read-dwarf/test3.so.abi
index 7357a7401c6e..96d8cc310237 100644
--- a/tests/data/test-read-dwarf/test3.so.abi
+++ b/tests/data/test-read-dwarf/test3.so.abi
@@ -3,16 +3,16 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
     <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='foo__,__foo__,__foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     <type-decl name='void' id='type-id-1'/>
-    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
       <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
diff --git a/tests/data/test-read-dwarf/test3.so.hash.abi b/tests/data/test-read-dwarf/test3.so.hash.abi
index e01f395983fa..22540639c41d 100644
--- a/tests/data/test-read-dwarf/test3.so.hash.abi
+++ b/tests/data/test-read-dwarf/test3.so.hash.abi
@@ -3,16 +3,16 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
     <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='foo__,__foo__,__foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     <type-decl name='void' id='48b5725f'/>
-    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
       <return type-id='48b5725f'/>
     </function-decl>
   </abi-instr>
diff --git a/tests/data/test-symtab/basic/aliases.c b/tests/data/test-symtab/basic/aliases.c
new file mode 100644
index 000000000000..319f463249dc
--- /dev/null
+++ b/tests/data/test-symtab/basic/aliases.c
@@ -0,0 +1,13 @@
+void exported_function(){}
+
+void exported_function_alias() __attribute__((alias("exported_function")));
+void exported_function_another_alias() __attribute__((alias("exported_function")));
+void exported_function_weak_alias() __attribute__((weak, alias("exported_function")));
+void exported_function_another_weak_alias() __attribute__((weak, alias("exported_function")));
+
+int exported_variable = 42;
+
+extern int exported_variable_alias __attribute__((alias("exported_variable")));
+extern int exported_variable_another_alias __attribute__((alias("exported_variable")));
+extern int exported_variable_weak_alias __attribute__((weak, alias("exported_variable")));
+extern int exported_variable_another_weak_alias __attribute__((weak, alias("exported_variable")));
diff --git a/tests/data/test-symtab/basic/aliases.so b/tests/data/test-symtab/basic/aliases.so
new file mode 100755
index 0000000000000000000000000000000000000000..95a5c058e95d5f7027b767e1200bf2cef5d5bead
GIT binary patch
literal 17176
zcmeHOYiJzT6~42hwN_qf^>EV2v0IJJ1{}A$QW8I8yRt@4uZ-llsss&*JDS}c?JnJ&
z6+5$$loTp32@Y;R{n1xQAQV&F&{7xLA1$TCI1O$7^hJvaZE;FM9Ga#I#l?Mjd(O-~
zv$M0aD)dL8VJ_^PbHDSr_nx_P=Z<vG=cZ<-LxRAli0mZ8n%rX}G8bGw!5JVj8)hAF
z{V>~W>9*BHP2A898zRcMUu+|cB3}2>Fz*skk|S)jC!sME$+|l960Z_<+hJEWlD5Le
z$wqpKw|ALSvI~J4+HG>XO>Rf@EY~L*vE5pI#C{H=10Nc<VMY{nv7CL&%v!u;Rh@Cs
zI7y!<*?j`+c&NGI_JqPd&)aJimkmBXq7)u%_b&K}@H=&8k#%OD>v{X5^CNw$-}+7G
z;M-qikNo7f*aMW~eMUR%UtB(Tb)PIPA%?N)gx{xU#$WsH*^bViz1i`~$s@+2@yOt%
z_wIS^+^<)ku1$8g&zSMt;^I347eTdUnFfjEBmGzl9LMjckNxz+7eUa=`j{kx0u+jS
z4*31>G~D6=ZMUS1eFJEp5B}2@_~%>rIozV%zkvQepZ@fNz90Su===45u|<EFqU1_t
zT`^3xVk!z#W)|j@tX9!-1;f-T3v(02vaT(t>7r)K{3S|eO;wf)x>_tep)qZ3rCc$!
ztg>9yGiITzHzSIwm(9FZQC2neGYXighL6&=Lh{hc*n>Z=RtnZIoZb<#ZC@NEzrHxa
z7JaG9tpUP4p!JB>k1al*F7Wk+@GBhem%#`M;Z(mdYUB8<!BlX{O&89WBulpC!tq(9
za@&Q|TqjvTg9ro>2qF+fAc#N^fgl1w1pa>`kUIZvBy}<Tr$NS2PrYo0YClh%e<gCw
z8Bp!;A3#*Q?@hRN56Hm11l;l_DWskqc>`^q4Zn`$*lqJ}aQ7wT!Cgn~M)$x5>R#g%
z^uJ^2A4Wf^`|qTl*-Bk~Z!~rFwwMxLP5t7Ic^5dC;|?OV8_V4TlXd%zkrIelb#O6t
ze&i#_rk;7r>`Yx8ISrMY=W4au%{*LQ4NpN`I7jUgedkFKE`rVGxog(g8%B#g4N4G!
zAOb-If(Qf=2qF+fAc#N^fgl1w1cC?z5%}OmK-eRmh{Le(e?QVzttJB<0-6VU3+M(=
zEcm}(EW#7>Ojzp?_H?#KHsK#kXuB7F*Z*9rS^t`f^-Rb5Pj^RGBO7e=-V+BOitk4|
zw1>}l_A=<v|Ev&4+sEKng0`&xosPwNo(@fP?HGp!P$4Km1cC?z5eOm>L?DPj5P={9
zK?H&b1Q7@#@PUW`opYpfjd&i|D*T*d7q9-4*LU+eotNCh>-4R7FR#<NN&LRVLh@U8
zYGtf1@k5Z-8FZ-kw;^huQAT=&%XeZ0N{Jt)jM`P!&#7}}Qnmp)|9gQurgkrL{SHpa
z{%<wAKaL+R|6dV0$L?*9&XXPl!KsOf<I;giEnQG`=~(ii<WOSxew$%<zS<6zJyP#E
zXs_Qd0APnYBACEi_Zx%kXBbL@K!}7VfOLqG3<QeU7B1)}Yx^<q!p=?<w*3zIsLf9y
z-)ZyzLcYu5!~5YD3c?O=L&Eb+=oRjZ?TU)AJ+WS)uf69U7}Fsp#*Rl%M2|&hc8%^1
z!Tl2BEE+u-6=9%ljZ!$`o@ArD$pC%G{a+r(x%zSViA=(72>*z6!PQE(z^*XsAhKp8
zGav;QyIDtwIwypM(;*SG>pFw0#$cwbo0UR(uvkc|=|WB|6cuB=WUA>wQ!`9sFsquX
z#U?nMR*gcYet_CJcf8%9WjxO>O+0YazQa<YWL9-;B&X?GrI3NDTFK-`)`pKHjvSH_
zIVrJxc4h*us<EzT@|Ch)t{RD|zFN?;3Fui-a~<Gz+HY|N+c|OlpX7f1cMg?X;oRl|
zadq-C+-f4sWLg&*anV^18u2z~-Dt$ajGq5S98P8Pb*vF@XOb@-VMD$+WZ(GWI~lE$
zjs9WPlH7>Ri}3Uv@Ws2F^XP6Xk;NFTtBrU!^IJzm7%ZJfZ`AK)Om-tSFG4;8tvhb1
z$aX>Ah#Mh&`m1E4Ok{UA0=y=&54FJIf%hq*v&uILMMiI-It~vstZVPr>WIzZ`WC`$
zDbM|iaeT#t@8dYV4{a}u9R)^k#R1#Hf_X23&wVKYj_q!F{I6U3&G+{!fcy2o)wsT9
z`RQaYO2BxEpPwtBBe3Rq@_h^MV+Z6$C)VQbGar5lY9Y)d@{H@cW!^l`|7htqKNs%<
zE<i?%cOJIGfc^4z1_1ZVpE(M+U;fVm;F8s+#!Cipzx<qy7W&Tt?$_=&0r%_Yk6QS7
zy@j8@1Mb)VfsnudQNaDibp~+1aj{IrG|cMqGQ8#L=|hTHQZkr8WI&!#wyfle<+NH<
zvSztrC~9?$Wy+<Mq6Vo#$)kr3Kj^Q7c|`?9tyI)?MT7U^I$N%&B~8gzOQm%%an%&i
zG#gaw?^Q*ao*$c=Ql`#KVxH6FBWK3uW+uQMa-0ZMvPN0St9ll*ozNGE;Vr35rMPiw
za-LcJValo5hsVcem4~ONKRLCaER2oMPAT;_FukO_sZFikjE=tRji<E8s&ag|bun+t
zH#e&(-Kn{g+h%<=*|&OmJ42vkC|CC!CrwKB4#1Oz=BPVE_3_D)_T~quS%Do0&^&RF
zT&5*+dNrA@7K+(KA<L{<UN!P8nO)bx(xzsGB`aD{MUW+}Tb^7gn#o+*WJyz7gDXxy
zmelfmqUEz-LN(jOo^iG&@!(G_!JZ5~p+{&AHf=1KHVl@8X<ve=449U#=D<YNbMTDt
zYC&Hv6R)Pz7431V6$`pXJPfsQ$@#Bp_+5qHGVoYi#hb^9|Mznj{`urUm@fNQ__iVY
zCC(6?<(l-}L*Gf{U>F$u)*^fQ9wVBEbqfo&i!9m0KHVxZT+uh#)At=w`ku3t;lkZf
zm8F0~-(*kwIii=jrnmpp{yfOhC%mcbLhmb1y*mzX{9Xbpx4p#eh?2V&?%Ah2_Oy>A
zO7S9lsuNW`_OyQ?`a?40)Z3q&$Da13MCm)2+<3>2`xhKP#h*!BlhZh_67kwU2?Do0
z?Q@BKmJB(iaTEL$Ft|sf`%8aspgd`>KGlihcW$@Kp7zZbcpf?Ffr?eAPV@ypaqdw2
zw7;f2bjmlUag!b0hsVGc$4~aO55EDY;;~59wSFOcqF)D*+n&i>cgUtR&pGNme`Nn{
z5V-AWU*FH|t?zy^21<4WeUD?*|F~>R;@qCbP5RiDyZituh;emCMD}|f#Ae8z=rw?e
zcdN?Wq1Ufh7x$@N4E?Nd!!Np>`sn`N2Sbza19)ZZQJXkdZ(Hwz#EYTw61SJJ;woO<
z+aN>CJI)um{UMJ5Ro&Eic3tgUf6%VbI*RX^1pMg!)4am<f$qI+VPBVqZEAR&Q@f<w
S3yh!rua4UqqQ}5fW&Z}!dYz2`

literal 0
HcmV?d00001

diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index 09e5193fa667..62e16e535f49 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -292,6 +292,53 @@ TEST_CASE("Symtab::SymtabWithWhitelist", "[symtab, whitelist]")
   }
 }
 
+TEST_CASE("Symtab::AliasedFunctionSymbols", "[symtab, functions, aliases]")
+{
+  const std::string  binary = "basic/aliases.so";
+  const corpus_sptr& corpus = assert_symbol_count(binary, 5, 5);
+
+  // The main symbol is not necessarily the one that is aliased to in the
+  // code So, this can't be decided by just looking at ELF. Hence acquire the
+  // main symbol.
+  const elf_symbol_sptr& main_symbol =
+    corpus->lookup_function_symbol("exported_function")->get_main_symbol();
+  REQUIRE(main_symbol);
+
+  // But since we know that 'exported_function' is the main symbol and this
+  // can be discovered from DWARF
+  CHECK(corpus->lookup_function_symbol("exported_function")->is_main_symbol());
+
+  CHECK(corpus->lookup_function_symbol("exported_function")
+	  ->get_number_of_aliases() == 4);
+
+  CHECK(main_symbol->has_aliases());
+  CHECK(main_symbol->get_number_of_aliases() == 4);
+  CHECK(main_symbol->get_main_symbol() == main_symbol);
+}
+
+TEST_CASE("Symtab::AliasedVariableSymbols", "[symtab, variables, aliases]")
+{
+  const std::string  binary = "basic/aliases.so";
+  const corpus_sptr& corpus = assert_symbol_count(binary, 5, 5);
+  // The main symbol is not necessarily the one that is aliased to in the
+  // code So, this can't be decided by just looking at ELF. Hence acquire the
+  // main symbol.
+  const elf_symbol_sptr& main_symbol =
+    corpus->lookup_variable_symbol("exported_variable")->get_main_symbol();
+  REQUIRE(main_symbol);
+
+  // But since we know that 'exported_function' is the main symbol and this
+  // can be discovered from DWARF
+  CHECK(corpus->lookup_variable_symbol("exported_variable")->is_main_symbol());
+
+  CHECK(corpus->lookup_variable_symbol("exported_variable")
+	  ->get_number_of_aliases() == 4);
+
+  CHECK(main_symbol->has_aliases());
+  CHECK(main_symbol->get_number_of_aliases() == 4);
+  CHECK(main_symbol->get_main_symbol() == main_symbol);
+}
+
 static const char* kernel_versions[] = { "4.14", "4.19", "5.4", "5.6" };
 static const size_t nr_kernel_versions =
     sizeof(kernel_versions) / sizeof(kernel_versions[0]);
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 19/21] dwarf-reader/writer: consider aliases when dealing with suppressions
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (17 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 18/21] symtab/dwarf-reader: allow hinting of main symbols for aliases Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 20/21] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
                     ` (2 subsequent siblings)
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

When a symbol is suppressed and it happens to be the main symbol of a
group of aliased symbols where another symbol is not suppressed, the
dwarf reader discards the DWARF information upon reading and the writer
will not be able to connect dwarf information to the aliased elf symbol.

In order to address this, ensure we are not suppressing symbols
(actually functions and variables) for which an alias is not suppressed.
We therefore keep the DWARF information even if only a non-main symbol
is asked for.

Likewise, when the abg-writer is having to attach an elf-symbol-id to
the DWARF collected information (for functions and variables), instead
of omitting the symbol altogether, rather make use of the property of
aliases and connect the dwarf information to an alias instead. This way
the function dwarf information stays connected to the elf symbol that we
want to track.

	* src/abg-dwarf-reader.cc(function_is_suppressed): Do not suppress
	  a function for which there is an alias that is not suppressed.
	(variable_is_suppressed): Likewise for variables.
	* src/abg-writer.cc(write_elf_symbol_reference): Fall back to
	  any aliased symbol if the main symbol is suppressed.
	* tests/data/Makefile.am: Add new test files.
	* tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: New test file.
	* tests/data/test-read-dwarf/test3-alias-1.suppr: Likewise.
	* tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test3-alias-2.suppr: Likewise.
	* tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test3-alias-3.suppr: Likewise.
	* tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test3-alias-4.suppr: Likewise.
	* tests/test-read-dwarf.cc: Add new test cases.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc                       | 20 ++++++++++--
 src/abg-writer.cc                             |  5 ++-
 tests/data/Makefile.am                        |  8 +++++
 .../test-read-dwarf/test3-alias-1.so.hash.abi | 14 ++++++++
 .../data/test-read-dwarf/test3-alias-1.suppr  |  3 ++
 .../test-read-dwarf/test3-alias-2.so.hash.abi | 18 +++++++++++
 .../data/test-read-dwarf/test3-alias-2.suppr  |  3 ++
 .../test-read-dwarf/test3-alias-3.so.hash.abi | 14 ++++++++
 .../data/test-read-dwarf/test3-alias-3.suppr  |  3 ++
 .../test-read-dwarf/test3-alias-4.so.hash.abi |  8 +++++
 .../data/test-read-dwarf/test3-alias-4.suppr  |  3 ++
 tests/test-read-dwarf.cc                      | 32 +++++++++++++++++++
 12 files changed, 128 insertions(+), 3 deletions(-)
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.suppr

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 4120b03b8ac5..d125cc980166 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -13002,8 +13002,16 @@ function_is_suppressed(const read_context& ctxt,
       if (!ctxt.get_function_address(function_die, fn_addr))
 	return true;
 
-      if (!ctxt.function_symbol_is_exported(fn_addr))
+      elf_symbol_sptr symbol = ctxt.function_symbol_is_exported(fn_addr);
+      if (!symbol)
 	return true;
+      if (!symbol->is_suppressed())
+	return false;
+      if (symbol->has_aliases() && symbol->is_main_symbol())
+	for (elf_symbol_sptr a = symbol->get_next_alias();
+	     !a->is_main_symbol(); a = a->get_next_alias())
+	  if (!a->is_suppressed())
+	    return false;
     }
 
   return suppr::function_is_suppressed(ctxt, qualified_name,
@@ -13107,8 +13115,16 @@ variable_is_suppressed(const read_context& ctxt,
       if (!ctxt.get_variable_address(variable_die, var_addr))
 	return true;
 
-      if (!ctxt.variable_symbol_is_exported(var_addr))
+      elf_symbol_sptr symbol = ctxt.variable_symbol_is_exported(var_addr);
+      if (!symbol)
 	return true;
+      if (!symbol->is_suppressed())
+	return false;
+      if (symbol->has_aliases() && symbol->is_main_symbol())
+	for (elf_symbol_sptr a = symbol->get_next_alias();
+	     !a->is_main_symbol(); a = a->get_next_alias())
+	  if (!a->is_suppressed())
+	    return false;
     }
 
   return suppr::variable_is_suppressed(ctxt, qualified_name,
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index c5be11b26072..723db1a51256 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -1742,7 +1742,10 @@ write_elf_symbol_aliases(const elf_symbol& sym, ostream& out)
 static bool
 write_elf_symbol_reference(const elf_symbol& sym, ostream& o)
 {
-  o << " elf-symbol-id='" << sym.get_id_string() << "'";
+  auto actual_sym = &sym;
+  while (actual_sym->is_suppressed() && actual_sym->has_aliases())
+    actual_sym = actual_sym->get_next_alias().get();
+  o << " elf-symbol-id='" << actual_sym->get_id_string() << "'";
   return true;
 }
 
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 054acb8c5376..54ccb103c8ab 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -411,6 +411,14 @@ test-read-dwarf/test3.c		\
 test-read-dwarf/test3.so		\
 test-read-dwarf/test3.so.abi		\
 test-read-dwarf/test3.so.hash.abi	\
+test-read-dwarf/test3-alias-1.so.hash.abi \
+test-read-dwarf/test3-alias-1.suppr \
+test-read-dwarf/test3-alias-2.so.hash.abi \
+test-read-dwarf/test3-alias-2.suppr \
+test-read-dwarf/test3-alias-3.so.hash.abi \
+test-read-dwarf/test3-alias-3.suppr \
+test-read-dwarf/test3-alias-4.so.hash.abi \
+test-read-dwarf/test3-alias-4.suppr \
 test-read-dwarf/test4.c		\
 test-read-dwarf/test4.so		\
 test-read-dwarf/test4.so.abi		\
diff --git a/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
new file mode 100644
index 000000000000..1ed4b0612886
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
@@ -0,0 +1,14 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-1.suppr b/tests/data/test-read-dwarf/test3-alias-1.suppr
new file mode 100644
index 000000000000..b347500d4c4e
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-1.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_not_regexp = ^__foo$
+  drop = true
diff --git a/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
new file mode 100644
index 000000000000..50a53f97bf84
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
@@ -0,0 +1,18 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-2.suppr b/tests/data/test-read-dwarf/test3-alias-2.suppr
new file mode 100644
index 000000000000..b6d203d53c2b
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-2.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_regexp = ^__foo$
+  drop = true
diff --git a/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
new file mode 100644
index 000000000000..6de4d59b13d5
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
@@ -0,0 +1,14 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-3.suppr b/tests/data/test-read-dwarf/test3-alias-3.suppr
new file mode 100644
index 000000000000..66cd33a8d353
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-3.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_not_regexp = ^foo$
+  drop = true
diff --git a/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
new file mode 100644
index 000000000000..b26d12f80e61
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
@@ -0,0 +1,8 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-4.suppr b/tests/data/test-read-dwarf/test3-alias-4.suppr
new file mode 100644
index 000000000000..25a2c437f51e
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-4.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_not_regexp = ^_init$
+  drop = true
diff --git a/tests/test-read-dwarf.cc b/tests/test-read-dwarf.cc
index 8502f8279241..dc11fbca2738 100644
--- a/tests/test-read-dwarf.cc
+++ b/tests/test-read-dwarf.cc
@@ -124,6 +124,38 @@ InOutSpec in_out_specs[] =
     "data/test-read-dwarf/test3.so.hash.abi",
     "output/test-read-dwarf/test3.so.hash.abi"
   },
+  // suppress all except the main symbol of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-1.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-1.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-1.so.hash.abi"
+  },
+  // suppress the main symbol of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-2.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-2.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-2.so.hash.abi"
+  },
+  // suppress all except one non main symbol of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-3.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-3.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-3.so.hash.abi"
+  },
+  // suppress all symbols of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-4.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-4.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-4.so.hash.abi"
+  },
   {
     "data/test-read-dwarf/test4.so",
     "",
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 20/21] symtab: Add support for MODVERSIONS (CRC checksums)
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (18 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 19/21] dwarf-reader/writer: consider aliases when dealing with suppressions Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-03 16:46   ` [PATCH v2 21/21] reader/symtab: Improve handling for suppressed aliases Matthias Maennich
  2020-07-20 14:27   ` [PATCH v2 00/21] Refactor (k)symtab reader Dodji Seketeli
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The Linux Kernel has a mechanism (MODVERSIONS) to checksum symbols based
on their type. In a way similar to what libabigail does, but different.
The CRC values for symbols can be extracted from the symtab either by
following the __kcrctab_<symbol> entry or by using the __crc_<symbol>
value directly.

This patch adds support for extracting those CRC values and storing them
as a property of elf_symbol. Subsequently, 'crc' gets emitted as an
attribute of 'elf-symbol' in the XML representation.

CRC comparisons are also added to the abidiff machinery such that if
both representations of a comparison contain a CRC value, they will be
compared and if any of the values is unset (i.e. == 0), equality is
assumed. Differences will be reported in the format that the Kernel
presents them e.g. via Module.symvers. It is likely, but not necessary,
that a CRC difference comes along with an ABI difference reported by
libabigail. Not everything that leads to a change of the CRC value an
ABI breakage in the libabigail sense.

Also add some test cases to ensure reading crc values from kernel
binaries works as expected. The empty-report files have been
consolidated to one file: empty-report.txt. That also clarifies the
expected outcome for the affected tests.

	* include/abg-ir.h (elf_symbol::elf_symbol): Add crc parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::get_crc): New member method.
	(elf_symbol::set_crc): New member method.
	* src/abg-ir.cc (elf_symbol::priv::crc_): New data member.
	* src/abg-ir.cc (elf_symbol::priv::priv): Add crc parameter.
	(elf_symbol::elf_symbol): Likewise.
	(elf_symbol::create): Likewise.
	(elf_symbol::textually_equals): Add crc support.
	(elf_symbol::get_crc): New member method.
	(elf_symbol::set_crc): New member method.
	* src/abg-reader.cc (build_elf_symbol): Add crc support.
	* src/abg-reporter-priv.cc (maybe_report_diff_for_symbol): Likewise.
	* src/abg-symtab-reader.cc (symtab::load): Likewise.
	* src/abg-writer.cc (write_elf_symbol): Likewise.
	* tests/data/Makefile.am: Add new test data files.
	* tests/data/test-abidiff/empty-report.txt: New file.
	* tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt: Deleted.
	* tests/data/test-abidiff/test-PR24552-report0.txt: Deleted.
	* tests/data/test-abidiff/test-crc-0.xml: New test file.
	* tests/data/test-abidiff/test-crc-1.xml: Likewise.
	* tests/data/test-abidiff/test-crc-2.xml: Likewise.
	* tests/data/test-abidiff/test-crc-report.txt: Likewise.
	* tests/data/test-abidiff/test-empty-corpus-report.txt: Deleted.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Add crc values.
	* tests/data/test-read-write/test-crc.xml: New test data file.
	* tests/data/test-symtab/kernel-modversions/Makefile: New test source.
	* tests/data/test-symtab/kernel-modversions/one_of_each.c: Likewise.
	* tests/data/test-symtab/kernel-modversions/one_of_each.ko: Likewise.
	* tests/test-abidiff.cc: Add new test case.
	* tests/test-read-write.cc: Likewise.
	* tests/test-symtab.cc (Symtab::KernelSymtabsWithCRC): New test case.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h                              |    8 +
 src/abg-ir.cc                                 |   30 +-
 src/abg-reader.cc                             |    8 +
 src/abg-reporter-priv.cc                      |   18 +-
 src/abg-symtab-reader.cc                      |   25 +
 src/abg-writer.cc                             |   12 +-
 tests/data/Makefile.am                        |   14 +-
 ...ibtirpc.so.report.txt => empty-report.txt} |    0
 .../test-abidiff/test-PR24552-report0.txt     |    3 -
 tests/data/test-abidiff/test-crc-0.xml        | 1601 +++++++++++++++++
 tests/data/test-abidiff/test-crc-1.xml        | 1601 +++++++++++++++++
 tests/data/test-abidiff/test-crc-2.xml        | 1601 +++++++++++++++++
 tests/data/test-abidiff/test-crc-report.txt   |    9 +
 .../test-abidiff/test-empty-corpus-report.txt |    3 -
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   72 +-
 tests/data/test-read-write/test-crc.xml       |   10 +
 .../test-symtab/kernel-modversions/Makefile   |   19 +
 .../kernel-modversions/one_of_each.c          |    1 +
 .../kernel-modversions/one_of_each.ko         |  Bin 0 -> 131760 bytes
 tests/test-abidiff.cc                         |   34 +-
 tests/test-read-write.cc                      |    6 +
 tests/test-symtab.cc                          |   15 +
 22 files changed, 5025 insertions(+), 65 deletions(-)
 rename tests/data/test-abidiff/{test-PR18166-libtirpc.so.report.txt => empty-report.txt} (100%)
 delete mode 100644 tests/data/test-abidiff/test-PR24552-report0.txt
 create mode 100644 tests/data/test-abidiff/test-crc-0.xml
 create mode 100644 tests/data/test-abidiff/test-crc-1.xml
 create mode 100644 tests/data/test-abidiff/test-crc-2.xml
 create mode 100644 tests/data/test-abidiff/test-crc-report.txt
 delete mode 100644 tests/data/test-abidiff/test-empty-corpus-report.txt
 create mode 100644 tests/data/test-read-write/test-crc.xml
 create mode 100644 tests/data/test-symtab/kernel-modversions/Makefile
 create mode 120000 tests/data/test-symtab/kernel-modversions/one_of_each.c
 create mode 100644 tests/data/test-symtab/kernel-modversions/one_of_each.ko

diff --git a/include/abg-ir.h b/include/abg-ir.h
index c150075df3b8..6c368f03ddf8 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -854,6 +854,7 @@ private:
 	     visibility		vi,
 	     bool		is_linux_string_cst = false,
 	     bool		is_in_ksymtab = false,
+	     uint64_t		crc = 0,
 	     bool		is_suppressed = false);
 
   elf_symbol(const elf_symbol&);
@@ -879,6 +880,7 @@ public:
 	 visibility	    vi,
 	 bool		    is_linux_string_cst = false,
 	 bool		    is_in_ksymtab = false,
+	 uint64_t	    crc = 0,
 	 bool		    is_suppressed = false);
 
   const environment*
@@ -953,6 +955,12 @@ public:
   void
   set_is_in_ksymtab(bool is_in_ksymtab);
 
+  uint64_t
+  get_crc() const;
+
+  void
+  set_crc(uint64_t crc);
+
   bool
   is_suppressed() const;
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 5a0f9f968034..268d478cb871 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -24,13 +24,14 @@
 ///
 /// Definitions for the Internal Representation artifacts of libabigail.
 
-#include <cxxabi.h>
-#include <vector>
-#include <utility>
 #include <algorithm>
+#include <cstdint>
+#include <cxxabi.h>
 #include <iterator>
-#include <typeinfo>
 #include <sstream>
+#include <typeinfo>
+#include <utility>
+#include <vector>
 
 #include "abg-cxx-compat.h"
 #include "abg-internal.h"
@@ -1301,6 +1302,7 @@ struct elf_symbol::priv
   bool			is_common_;
   bool			is_linux_string_cst_;
   bool			is_in_ksymtab_;
+  uint64_t		crc_;
   bool			is_suppressed_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
@@ -1318,6 +1320,7 @@ struct elf_symbol::priv
       is_common_(false),
       is_linux_string_cst_(false),
       is_in_ksymtab_(false),
+      crc_(0),
       is_suppressed_(false)
   {}
 
@@ -1333,6 +1336,7 @@ struct elf_symbol::priv
        elf_symbol::visibility	  vi,
        bool			  is_linux_string_cst,
        bool			  is_in_ksymtab,
+       uint64_t			  crc,
        bool			  is_suppressed)
     : env_(e),
       index_(i),
@@ -1346,6 +1350,7 @@ struct elf_symbol::priv
       is_common_(c),
       is_linux_string_cst_(is_linux_string_cst),
       is_in_ksymtab_(is_in_ksymtab),
+      crc_(crc),
       is_suppressed_(is_suppressed)
   {
     if (!is_common_)
@@ -1404,6 +1409,7 @@ elf_symbol::elf_symbol(const environment* e,
 		       visibility	  vi,
 		       bool		  is_linux_string_cst,
 		       bool		  is_in_ksymtab,
+		       uint64_t		  crc,
 		       bool		  is_suppressed)
   : priv_(new priv(e,
 		   i,
@@ -1417,6 +1423,7 @@ elf_symbol::elf_symbol(const environment* e,
 		   vi,
 		   is_linux_string_cst,
 		   is_in_ksymtab,
+		   crc,
 		   is_suppressed))
 {}
 
@@ -1476,11 +1483,12 @@ elf_symbol::create(const environment* e,
 		   visibility	      vi,
 		   bool		      is_linux_string_cst,
 		   bool		      is_in_ksymtab,
+		   uint64_t	      crc,
 		   bool		      is_suppressed)
 {
   elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
 				     is_linux_string_cst,
-				     is_in_ksymtab, is_suppressed));
+				     is_in_ksymtab, crc, is_suppressed));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1501,7 +1509,9 @@ textually_equals(const elf_symbol&l,
 		 && l.is_public() == r.is_public()
 		 && l.is_defined() == r.is_defined()
 		 && l.is_common_symbol() == r.is_common_symbol()
-		 && l.get_version() == r.get_version());
+		 && l.get_version() == r.get_version()
+		 && (l.get_crc() == 0 || r.get_crc() == 0
+		     || l.get_crc() == r.get_crc()));
 
   if (equals && l.is_variable())
     // These are variable symbols.  Let's compare their symbol size.
@@ -1708,6 +1718,14 @@ void
 elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
 {priv_->is_in_ksymtab_ = is_in_ksymtab;}
 
+uint64_t
+elf_symbol::get_crc() const
+{return priv_->crc_;}
+
+void
+elf_symbol::set_crc(uint64_t crc)
+{priv_->crc_ = crc;}
+
 bool
 elf_symbol::is_suppressed() const
 {return priv_->is_suppressed_;}
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index fbdcce590bc3..3f636d00f9b8 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -2835,6 +2835,10 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 	is_default_version = true;
     }
 
+  uint64_t crc = 0;
+  if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "crc"))
+    crc = strtoull(CHAR_STR(s), NULL, 0);
+
   elf_symbol::type type = elf_symbol::NOTYPE_TYPE;
   read_elf_symbol_type(node, type);
 
@@ -2855,6 +2859,10 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 					 is_defined, is_common,
 					 version, visibility,
 					 /*is_linux_string_cst=*/false);
+
+  if (crc != 0)
+    e->set_crc(crc);
+
   return e;
 }
 
diff --git a/src/abg-reporter-priv.cc b/src/abg-reporter-priv.cc
index 9f2c5a4afdd4..2ca48c2143af 100644
--- a/src/abg-reporter-priv.cc
+++ b/src/abg-reporter-priv.cc
@@ -57,8 +57,7 @@ emit_num_value(uint64_t value, const diff_context& ctxt, ostream& out)
     out << std::hex << std::showbase ;
   else
     out << std::dec;
-  out << value;
-  out << std::dec << std::noshowbase;
+  out << value << std::dec << std::noshowbase;
 }
 
 /// Convert a bits value into a byte value if the current diff context
@@ -1194,6 +1193,21 @@ maybe_report_diff_for_symbol(const elf_symbol_sptr&	symbol1,
       reported = true;
     }
 
+  if (symbol1->get_crc() != 0 && symbol2->get_crc() != 0
+      && symbol1->get_crc() != symbol2->get_crc())
+    {
+      if (reported)
+	out << ",\n" << indent << "its CRC (modversions) changed from ";
+      else
+	out << "\n" << indent << "CRC value (modversions) changed from ";
+
+      out << std::showbase << std::hex
+	  << symbol1->get_crc() << " to " << symbol2->get_crc()
+	  << std::noshowbase << std::dec;
+
+      reported = true;
+    }
+
   if (reported)
     out << "\n";
 
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index f84ed79dae17..c50c0f643386 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -176,6 +176,7 @@ symtab::load_(Elf*	       elf_handle,
 
   const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
   abg_compat::unordered_set<std::string> exported_kernel_symbols;
+  abg_compat::unordered_map<std::string, uint64_t> crc_values;
 
   const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle);
 
@@ -220,6 +221,13 @@ symtab::load_(Elf*	       elf_handle,
 	  ABG_ASSERT(exported_kernel_symbols.insert(name.substr(10)).second);
 	  continue;
 	}
+      if (is_kernel && name.rfind("__crc_", 0) == 0)
+	{
+	  ABG_ASSERT(
+	    crc_values.insert(std::make_pair(name.substr(6), sym->st_value))
+	      .second);
+	  continue;
+	}
 
       // filter out uninteresting entries and only keep functions/variables for
       // now. The rest might be interesting in the future though.
@@ -319,6 +327,23 @@ symtab::load_(Elf*	       elf_handle,
       has_ksymtab_entries_ = true;
     }
 
+  // Now add the CRC values
+  for (abg_compat::unordered_map<std::string, uint64_t>::const_iterator
+	 it = crc_values.begin(),
+	 end = crc_values.end();
+       it != end; ++it)
+    {
+      const name_symbol_map_type::const_iterator r =
+	name_symbol_map_.find(it->first);
+      if (r == name_symbol_map_.end())
+	continue;
+
+      for (elf_symbols::const_iterator sym_it = r->second.begin(),
+				       sym_end = r->second.end();
+	   sym_it != sym_end; ++sym_it)
+	(*sym_it)->set_crc(it->second);
+    }
+
   // sort the symbols for deterministic output
   std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
 
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 723db1a51256..f7a773defe6d 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -26,14 +26,15 @@
 /// native XML format is named "abixml".
 
 #include "config.h"
+#include <algorithm>
 #include <assert.h>
+#include <fstream>
 #include <iomanip>
+#include <ios>
 #include <iostream>
-#include <fstream>
 #include <sstream>
-#include <vector>
 #include <stack>
-#include <algorithm>
+#include <vector>
 
 #include "abg-cxx-compat.h"
 #include "abg-tools-utils.h"
@@ -3059,6 +3060,11 @@ write_elf_symbol(const elf_symbol_sptr&	sym,
   if (sym->is_common_symbol())
     o << " is-common='yes'";
 
+  if (sym->get_crc() != 0)
+    o << " crc='"
+      << std::hex << std::showbase << sym->get_crc() << "'"
+      << std::dec << std::noshowbase;
+
   o << "/>";
 
   return true;
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 54ccb103c8ab..f39a6d427b1d 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -35,6 +35,7 @@ test-read-write/test28-without-std-fns-ref.xml \
 test-read-write/test28-drop-std-vars.abignore \
 test-read-write/test28-without-std-vars-ref.xml \
 test-read-write/test28-without-std-vars.xml \
+test-read-write/test-crc.xml \
 \
 test-write-read-archive/test0.xml \
 test-write-read-archive/test1.xml \
@@ -57,6 +58,7 @@ test-core-diff/report11.txt \
 test-core-diff/report12.txt \
 test-core-diff/report13.txt \
 \
+test-abidiff/empty-report.txt			\
 test-abidiff/test-enum0-v0.cc.bi		\
 test-abidiff/test-enum0-v1.cc.bi		\
 test-abidiff/test-enum0-report.txt		\
@@ -77,17 +79,18 @@ test-abidiff/test-var0-v1.cc.bi		\
 test-abidiff/test-var0-report.txt	\
 test-abidiff/test-PR18166-libtirpc.so \
 test-abidiff/test-PR18166-libtirpc.so.abi \
-test-abidiff/test-PR18166-libtirpc.so.report.txt \
 test-abidiff/test-PR18791-report0.txt   \
 test-abidiff/test-PR18791-v0.so.abi     \
 test-abidiff/test-PR18791-v1.so.abi     \
-test-abidiff/test-PR24552-report0.txt	\
 test-abidiff/test-PR24552-v0.abi	\
 test-abidiff/test-PR24552-v1.abi	\
 test-abidiff/test-empty-corpus-0.xml		\
 test-abidiff/test-empty-corpus-1.xml		\
 test-abidiff/test-empty-corpus-2.xml		\
-test-abidiff/test-empty-corpus-report.txt	\
+test-abidiff/test-crc-0.xml \
+test-abidiff/test-crc-1.xml \
+test-abidiff/test-crc-2.xml \
+test-abidiff/test-crc-report.txt \
 \
 test-abidiff-exit/test1-voffset-change-report0.txt \
 test-abidiff-exit/test1-voffset-change-report1.txt \
@@ -1851,4 +1854,7 @@ test-symtab/kernel-5.6/single_function_gpl.ko \
 test-symtab/kernel-5.6/single_variable.c \
 test-symtab/kernel-5.6/single_variable.ko \
 test-symtab/kernel-5.6/single_variable_gpl.c \
-test-symtab/kernel-5.6/single_variable_gpl.ko
+test-symtab/kernel-5.6/single_variable_gpl.ko \
+test-symtab/kernel-modversions/Makefile \
+test-symtab/kernel-modversions/one_of_each.c \
+test-symtab/kernel-modversions/one_of_each.ko
diff --git a/tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt b/tests/data/test-abidiff/empty-report.txt
similarity index 100%
rename from tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt
rename to tests/data/test-abidiff/empty-report.txt
diff --git a/tests/data/test-abidiff/test-PR24552-report0.txt b/tests/data/test-abidiff/test-PR24552-report0.txt
deleted file mode 100644
index a9d032e74e35..000000000000
--- a/tests/data/test-abidiff/test-PR24552-report0.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Functions changes summary: 0 Removed, 0 Changed, 0 Added function
-Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
-
diff --git a/tests/data/test-abidiff/test-crc-0.xml b/tests/data/test-abidiff/test-crc-0.xml
new file mode 100644
index 000000000000..a5cdee7adcec
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-0.xml
@@ -0,0 +1,1601 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <var-decl name='exported_variable' type-id='type-id-1' mangled-name='exported_variable' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='9' column='1' elf-symbol-id='exported_variable'/>
+    <var-decl name='exported_variable_gpl' type-id='type-id-1' mangled-name='exported_variable_gpl' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='12' column='1' elf-symbol-id='exported_variable_gpl'/>
+    <function-decl name='exported_function' mangled-name='exported_function' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='3' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='exported_function'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.mod.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+
+
+
+
+
+
+
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-4'>
+      <subrange length='4' type-id='type-id-5' id='type-id-6'/>
+
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-8'/>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='2048' id='type-id-10'>
+      <subrange length='32' type-id='type-id-5' id='type-id-11'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='192' id='type-id-12'>
+      <subrange length='3' type-id='type-id-5' id='type-id-13'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-14'>
+      <subrange length='2048' type-id='type-id-5' id='type-id-15'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='448' id='type-id-16'>
+      <subrange length='56' type-id='type-id-5' id='type-id-17'/>
+
+    </array-type-def>
+    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <class-decl name='exception_table_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/>
+    <class-decl name='file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-20'/>
+    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-21'/>
+    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-22'/>
+    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-23'/>
+    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/>
+    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-27'/>
+    <class-decl name='task_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
+    <class-decl name='vm_operations_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-30'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-31'/>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-32'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-33'/>
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='384' id='type-id-35'>
+      <subrange length='2' type-id='type-id-5' id='type-id-36'/>
+
+    </array-type-def>
+    <type-decl name='short int' size-in-bits='16' id='type-id-37'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-38'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-39'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-40'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-41'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='2816' id='type-id-42'>
+      <subrange length='44' type-id='type-id-5' id='type-id-43'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-5' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <class-decl name='module' size-in-bits='4608' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='347' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-48' visibility='default' filepath='./include/linux/module.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/module.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='./include/linux/module.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mkobj' type-id='type-id-50' visibility='default' filepath='./include/linux/module.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='modinfo_attrs' type-id='type-id-51' visibility='default' filepath='./include/linux/module.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='version' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='srcversion' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='holders_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='num_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='kp' type-id='type-id-56' visibility='default' filepath='./include/linux/module.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='num_kp' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='num_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='unused_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='unused_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='num_unused_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='num_unused_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='unused_gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='unused_gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='async_probe_requested' type-id='type-id-57' visibility='default' filepath='./include/linux/module.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='gpl_future_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='gpl_future_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='401' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='num_gpl_future_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='num_exentries' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='extable' type-id='type-id-58' visibility='default' filepath='./include/linux/module.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='init' type-id='type-id-59' visibility='default' filepath='./include/linux/module.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='core_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='init_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='arch' type-id='type-id-61' visibility='default' filepath='./include/linux/module.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='taints' type-id='type-id-5' visibility='default' filepath='./include/linux/module.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='args' type-id='type-id-9' visibility='default' filepath='./include/linux/module.h' line='441' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='module_state' filepath='./include/linux/module.h' line='295' column='1' id='type-id-48'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='MODULE_STATE_LIVE' value='0'/>
+      <enumerator name='MODULE_STATE_COMING' value='1'/>
+      <enumerator name='MODULE_STATE_GOING' value='2'/>
+      <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
+    </enum-decl>
+    <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/types.h' line='181' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='42' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/module.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='drivers_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mp' type-id='type-id-65' visibility='default' filepath='./include/linux/module.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='kobj_completion' type-id='type-id-66' visibility='default' filepath='./include/linux/module.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='65' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kobject.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='type-id-53' visibility='default' filepath='./include/linux/kobject.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='kset' type-id='type-id-67' visibility='default' filepath='./include/linux/kobject.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ktype' type-id='type-id-68' visibility='default' filepath='./include/linux/kobject.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sd' type-id='type-id-69' visibility='default' filepath='./include/linux/kobject.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='kref' type-id='type-id-70' visibility='default' filepath='./include/linux/kobject.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='state_initialized' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='state_in_sysfs' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='state_add_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='state_remove_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='uevent_suppress' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kset' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='193' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='list_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/kobject.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/kobject.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='uevent_ops' type-id='type-id-73' visibility='default' filepath='./include/linux/kobject.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='spinlock_t' type-id='type-id-74' filepath='./include/linux/spinlock_types.h' line='73' column='1' id='type-id-72'/>
+    <class-decl name='spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='61' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='62' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='rlock' type-id='type-id-76' visibility='default' filepath='./include/linux/spinlock_types.h' line='63' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='raw_spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='20' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raw_lock' type-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='arch_spinlock_t' type-id='type-id-78' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-77'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-78'/>
+    <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='157' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter' type-id='type-id-80' visibility='default' filepath='./include/linux/kobject.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-81' visibility='default' filepath='./include/linux/kobject.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='uevent' type-id='type-id-82' visibility='default' filepath='./include/linux/kobject.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='149' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argv' type-id='type-id-12' visibility='default' filepath='./include/linux/kobject.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='envp' type-id='type-id-10' visibility='default' filepath='./include/linux/kobject.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='envp_idx' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='buf' type-id='type-id-14' visibility='default' filepath='./include/linux/kobject.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18656'>
+        <var-decl name='buflen' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='154' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_type' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='139' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='release' type-id='type-id-85' visibility='default' filepath='./include/linux/kobject.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sysfs_ops' type-id='type-id-86' visibility='default' filepath='./include/linux/kobject.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='default_attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/kobject.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_groups' type-id='type-id-88' visibility='default' filepath='./include/linux/kobject.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='child_ns_type' type-id='type-id-89' visibility='default' filepath='./include/linux/kobject.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='namespace' type-id='type-id-90' visibility='default' filepath='./include/linux/kobject.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_ownership' type-id='type-id-91' visibility='default' filepath='./include/linux/kobject.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='223' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show' type-id='type-id-93' visibility='default' filepath='./include/linux/sysfs.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='store' type-id='type-id-94' visibility='default' filepath='./include/linux/sysfs.h' line='225' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ssize_t' type-id='type-id-95' filepath='./include/linux/types.h' line='60' column='1' id='type-id-96'/>
+    <typedef-decl name='__kernel_ssize_t' type-id='type-id-97' filepath='./include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-95'/>
+    <typedef-decl name='__kernel_long_t' type-id='type-id-31' filepath='./include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-97'/>
+    <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='30' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/sysfs.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='umode_t' type-id='type-id-46' filepath='./include/linux/types.h' line='19' column='1' id='type-id-99'/>
+    <typedef-decl name='size_t' type-id='type-id-100' filepath='./include/linux/types.h' line='55' column='1' id='type-id-101'/>
+    <typedef-decl name='__kernel_size_t' type-id='type-id-102' filepath='./include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-100'/>
+    <typedef-decl name='__kernel_ulong_t' type-id='type-id-5' filepath='./include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-102'/>
+    <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='84' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_visible' type-id='type-id-104' visibility='default' filepath='./include/linux/sysfs.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_bin_visible' type-id='type-id-105' visibility='default' filepath='./include/linux/sysfs.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/sysfs.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bin_attrs' type-id='type-id-106' visibility='default' filepath='./include/linux/sysfs.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='161' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/sysfs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-101' visibility='default' filepath='./include/linux/sysfs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='private' type-id='type-id-108' visibility='default' filepath='./include/linux/sysfs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='read' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='write' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mmap' type-id='type-id-110' visibility='default' filepath='./include/linux/sysfs.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='loff_t' type-id='type-id-111' filepath='./include/linux/types.h' line='46' column='1' id='type-id-112'/>
+    <typedef-decl name='__kernel_loff_t' type-id='type-id-32' filepath='./include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-111'/>
+    <class-decl name='vm_area_struct' size-in-bits='1408' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='292' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vm_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vm_next' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vm_prev' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vm_rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rb_subtree_gap' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vm_mm' type-id='type-id-115' visibility='default' filepath='./include/linux/mm_types.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vm_page_prot' type-id='type-id-116' visibility='default' filepath='./include/linux/mm_types.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vm_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared' type-id='type-id-117' visibility='default' filepath='./include/linux/mm_types.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='anon_vma_chain' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='anon_vma' type-id='type-id-118' visibility='default' filepath='./include/linux/mm_types.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/mm_types.h' line='338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vm_pgoff' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='vm_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='vm_private_data' type-id='type-id-108' visibility='default' filepath='./include/linux/mm_types.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='vm_userfaultfd_ctx' type-id='type-id-121' visibility='default' filepath='./include/linux/mm_types.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='24' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__rb_parent_color' type-id='type-id-5' visibility='default' filepath='./include/linux/rbtree.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rb_right' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rb_left' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mm_struct' size-in-bits='6720' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='370' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='cpu_bitmap' type-id='type-id-44' visibility='default' filepath='./include/linux/mm_types.h' line='533' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='6720' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='371' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mmap' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mm_rb' type-id='type-id-125' visibility='default' filepath='./include/linux/mm_types.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vmacache_seqnum' type-id='type-id-126' visibility='default' filepath='./include/linux/mm_types.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_unmapped_area' type-id='type-id-127' visibility='default' filepath='./include/linux/mm_types.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mmap_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mmap_legacy_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='task_size' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='highest_vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pgd' type-id='type-id-128' visibility='default' filepath='./include/linux/mm_types.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mm_users' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='mm_count' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='pgtables_bytes' type-id='type-id-3' visibility='default' filepath='./include/linux/mm_types.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='map_count' type-id='type-id-1' visibility='default' filepath='./include/linux/mm_types.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='page_table_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mmap_sem' type-id='type-id-130' visibility='default' filepath='./include/linux/mm_types.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='mmlist' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='hiwater_rss' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='438' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='hiwater_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='total_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='locked_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='pinned_vm' type-id='type-id-131' visibility='default' filepath='./include/linux/mm_types.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='data_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='exec_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stack_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='def_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='arg_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='start_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='end_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='start_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='end_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='start_brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='start_stack' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='arg_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='arg_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='env_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='env_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='saved_auxv' type-id='type-id-42' visibility='default' filepath='./include/linux/mm_types.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='rss_stat' type-id='type-id-132' visibility='default' filepath='./include/linux/mm_types.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='binfmt' type-id='type-id-133' visibility='default' filepath='./include/linux/mm_types.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='context' type-id='type-id-134' visibility='default' filepath='./include/linux/mm_types.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='core_state' type-id='type-id-135' visibility='default' filepath='./include/linux/mm_types.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='user_ns' type-id='type-id-136' visibility='default' filepath='./include/linux/mm_types.h' line='488' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='exe_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='tlb_flush_pending' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='tlb_flush_batched' type-id='type-id-57' visibility='default' filepath='./include/linux/mm_types.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6440'>
+        <var-decl name='uprobes_state' type-id='type-id-137' visibility='default' filepath='./include/linux/mm_types.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='async_put_work' type-id='type-id-138' visibility='default' filepath='./include/linux/mm_types.h' line='526' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='31' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb_node' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-139' filepath='./include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-126'/>
+    <typedef-decl name='__u64' type-id='type-id-33' filepath='./include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-139'/>
+    <typedef-decl name='pgd_t' type-id='type-id-140' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-141'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-141' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgd' type-id='type-id-142' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgdval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='18' column='1' id='type-id-142'/>
+    <typedef-decl name='atomic_t' type-id='type-id-143' filepath='./include/linux/types.h' line='173' column='1' id='type-id-129'/>
+    <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-129' visibility='default' filepath='./include/linux/types.h' line='171' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-1' visibility='default' filepath='./include/linux/types.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='atomic_long_t' type-id='type-id-131' filepath='./include/asm-generic/atomic-long.h' line='12' column='1' id='type-id-3'/>
+    <typedef-decl name='atomic64_t' type-id='type-id-144' filepath='./include/linux/types.h' line='178' column='1' id='type-id-131'/>
+    <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-131' visibility='default' filepath='./include/linux/types.h' line='176' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-145' visibility='default' filepath='./include/linux/types.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s64' type-id='type-id-146' filepath='./include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-145'/>
+    <typedef-decl name='__s64' type-id='type-id-32' filepath='./include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-146'/>
+    <class-decl name='rw_semaphore' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/rwsem.h' line='35' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_lock' type-id='type-id-147' visibility='default' filepath='./include/linux/rwsem.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/rwsem.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='raw_spinlock_t' type-id='type-id-76' filepath='./include/linux/spinlock_types.h' line='29' column='1' id='type-id-147'/>
+    <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/mm_types_task.h' line='60' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='./include/linux/mm_types_task.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mm_context_t' type-id='type-id-148' filepath='./arch/x86/include/asm/mmu.h' line='57' column='1' id='type-id-134'/>
+    <class-decl name='__anonymous_struct__5' size-in-bits='576' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-134' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='13' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ctx_id' type-id='type-id-126' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tlb_gen' type-id='type-id-131' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ia32_compat' type-id='type-id-46' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='lock' type-id='type-id-149' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vdso' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vdso_image' type-id='type-id-150' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='perf_rdpmc_allowed' type-id='type-id-129' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='pkey_allocation_map' type-id='type-id-151' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='execute_only_pkey' type-id='type-id-152' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mutex' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/mutex.h' line='53' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/mutex.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mutex.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/mutex.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vdso_image' size-in-bits='832' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='13' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='alt' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alt_len' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sym_vvar_start' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sym_vvar_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym_pvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='sym_hvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='sym_VDSO32_NOTE_MASK' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sym___kernel_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym___kernel_rt_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sym___kernel_vsyscall' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_int80_landing_pad' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u16' type-id='type-id-154' filepath='./include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-151'/>
+    <typedef-decl name='__u16' type-id='type-id-46' filepath='./include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-154'/>
+    <typedef-decl name='s16' type-id='type-id-155' filepath='./include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-152'/>
+    <typedef-decl name='__s16' type-id='type-id-37' filepath='./include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-155'/>
+    <class-decl name='core_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='363' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nr_threads' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dumper' type-id='type-id-157' visibility='default' filepath='./include/linux/mm_types.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='startup' type-id='type-id-158' visibility='default' filepath='./include/linux/mm_types.h' line='366' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='358' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='task' type-id='type-id-159' visibility='default' filepath='./include/linux/mm_types.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-160' visibility='default' filepath='./include/linux/mm_types.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='completion' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/completion.h' line='26' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='done' type-id='type-id-41' visibility='default' filepath='./include/linux/completion.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait' type-id='type-id-161' visibility='default' filepath='./include/linux/completion.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='wait_queue_head_t' type-id='type-id-162' filepath='./include/linux/wait.h' line='38' column='1' id='type-id-161'/>
+    <class-decl name='wait_queue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/wait.h' line='34' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-72' visibility='default' filepath='./include/linux/wait.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-49' visibility='default' filepath='./include/linux/wait.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bool' type-id='type-id-7' filepath='./include/linux/types.h' line='30' column='1' id='type-id-57'/>
+    <class-decl name='uprobes_state' is-struct='yes' visibility='default' filepath='./include/linux/uprobes.h' line='142' column='1' id='type-id-137'/>
+    <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/workqueue.h' line='102' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-3' visibility='default' filepath='./include/linux/workqueue.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/workqueue.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='func' type-id='type-id-163' visibility='default' filepath='./include/linux/workqueue.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='work_func_t' type-id='type-id-164' filepath='./include/linux/workqueue.h' line='21' column='1' id='type-id-163'/>
+    <typedef-decl name='pgprot_t' type-id='type-id-165' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-116'/>
+    <class-decl name='pgprot' size-in-bits='64' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgprot' type-id='type-id-166' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgprotval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='19' column='1' id='type-id-166'/>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='322' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb_subtree_last' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='283' column='1' id='type-id-121'/>
+    <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/kobject_ns.h' line='39' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='./include/linux/kobject_ns.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='current_may_mount' type-id='type-id-169' visibility='default' filepath='./include/linux/kobject_ns.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grab_current_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='netlink_ns' type-id='type-id-171' visibility='default' filepath='./include/linux/kobject_ns.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='initial_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='drop_ns' type-id='type-id-172' visibility='default' filepath='./include/linux/kobject_ns.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='kobj_ns_type' filepath='./include/linux/kobject_ns.h' line='26' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
+      <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
+      <enumerator name='KOBJ_NS_TYPES' value='2'/>
+    </enum-decl>
+    <typedef-decl name='kuid_t' type-id='type-id-173' filepath='./include/linux/uidgid.h' line='23' column='1' id='type-id-174'/>
+    <class-decl name='__anonymous_struct__7' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-174' visibility='default' filepath='./include/linux/uidgid.h' line='21' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-175' visibility='default' filepath='./include/linux/uidgid.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uid_t' type-id='type-id-176' filepath='./include/linux/types.h' line='32' column='1' id='type-id-175'/>
+    <typedef-decl name='__kernel_uid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-176'/>
+    <typedef-decl name='kgid_t' type-id='type-id-177' filepath='./include/linux/uidgid.h' line='28' column='1' id='type-id-178'/>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-178' visibility='default' filepath='./include/linux/uidgid.h' line='26' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-179' visibility='default' filepath='./include/linux/uidgid.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gid_t' type-id='type-id-180' filepath='./include/linux/types.h' line='33' column='1' id='type-id-179'/>
+    <typedef-decl name='__kernel_gid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-180'/>
+    <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='131' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='active' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parent' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kernfs.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/kernfs.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ns' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hash' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='' type-id='type-id-182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='id' type-id='type-id-183' visibility='default' filepath='./include/linux/kernfs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='./include/linux/kernfs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/kernfs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='iattr' type-id='type-id-184' visibility='default' filepath='./include/linux/kernfs.h' line='161' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='150' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='dir' type-id='type-id-185' visibility='default' filepath='./include/linux/kernfs.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='symlink' type-id='type-id-186' visibility='default' filepath='./include/linux/kernfs.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-187' visibility='default' filepath='./include/linux/kernfs.h' line='153' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='84' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subdirs' type-id='type-id-5' visibility='default' filepath='./include/linux/kernfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='children' type-id='type-id-125' visibility='default' filepath='./include/linux/kernfs.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='root' type-id='type-id-188' visibility='default' filepath='./include/linux/kernfs.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_root' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='183' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ino_idr' type-id='type-id-190' visibility='default' filepath='./include/linux/kernfs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='last_ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='next_generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='syscall_ops' type-id='type-id-192' visibility='default' filepath='./include/linux/kernfs.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='supers' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='deactivate_waitq' type-id='type-id-161' visibility='default' filepath='./include/linux/kernfs.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/idr.h' line='19' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idr_rt' type-id='type-id-193' visibility='default' filepath='./include/linux/idr.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='idr_base' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='idr_next' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='xarray' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/xarray.h' line='292' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/xarray.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_flags' type-id='type-id-194' visibility='default' filepath='./include/linux/xarray.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xa_head' type-id='type-id-108' visibility='default' filepath='./include/linux/xarray.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gfp_t' type-id='type-id-41' filepath='./include/linux/types.h' line='153' column='1' id='type-id-194'/>
+    <typedef-decl name='u32' type-id='type-id-195' filepath='./include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-191'/>
+    <typedef-decl name='__u32' type-id='type-id-41' filepath='./include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-195'/>
+    <class-decl name='kernfs_syscall_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='171' column='1' id='type-id-196'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show_options' type-id='type-id-197' visibility='default' filepath='./include/linux/kernfs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mkdir' type-id='type-id-198' visibility='default' filepath='./include/linux/kernfs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rmdir' type-id='type-id-199' visibility='default' filepath='./include/linux/kernfs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rename' type-id='type-id-200' visibility='default' filepath='./include/linux/kernfs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='show_path' type-id='type-id-201' visibility='default' filepath='./include/linux/kernfs.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='96' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='target_kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='100' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-202' visibility='default' filepath='./include/linux/kernfs.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='open' type-id='type-id-203' visibility='default' filepath='./include/linux/kernfs.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-112' visibility='default' filepath='./include/linux/kernfs.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='notify_next' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='220' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='open' type-id='type-id-205' visibility='default' filepath='./include/linux/kernfs.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='release' type-id='type-id-206' visibility='default' filepath='./include/linux/kernfs.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_show' type-id='type-id-207' visibility='default' filepath='./include/linux/kernfs.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='seq_start' type-id='type-id-208' visibility='default' filepath='./include/linux/kernfs.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='seq_next' type-id='type-id-209' visibility='default' filepath='./include/linux/kernfs.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='seq_stop' type-id='type-id-210' visibility='default' filepath='./include/linux/kernfs.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='read' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='prealloc' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='write' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='poll' type-id='type-id-212' visibility='default' filepath='./include/linux/kernfs.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mmap' type-id='type-id-213' visibility='default' filepath='./include/linux/kernfs.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_open_file' size-in-bits='1088' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='200' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file' type-id='type-id-120' visibility='default' filepath='./include/linux/kernfs.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_file' type-id='type-id-215' visibility='default' filepath='./include/linux/kernfs.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='prealloc_mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='event' type-id='type-id-1' visibility='default' filepath='./include/linux/kernfs.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prealloc_buf' type-id='type-id-9' visibility='default' filepath='./include/linux/kernfs.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='mmapped' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='released' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/kernfs.h' line='217' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__poll_t' type-id='type-id-41' filepath='./include/uapi/linux/types.h' line='52' column='1' id='type-id-216'/>
+    <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='./include/linux/kernfs.h' line='108' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-217' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='id' type-id='type-id-126' visibility='default' filepath='./include/linux/kernfs.h' line='119' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__9' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='109' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/kref.h' line='19' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refcount' type-id='type-id-218' visibility='default' filepath='./include/linux/kref.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='refcount_t' type-id='type-id-219' filepath='./include/linux/refcount.h' line='21' column='1' id='type-id-218'/>
+    <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/refcount.h' line='19' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refs' type-id='type-id-129' visibility='default' filepath='./include/linux/refcount.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='50' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/module.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='show' type-id='type-id-221' visibility='default' filepath='./include/linux/module.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='store' type-id='type-id-222' visibility='default' filepath='./include/linux/module.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='setup' type-id='type-id-223' visibility='default' filepath='./include/linux/module.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='test' type-id='type-id-224' visibility='default' filepath='./include/linux/module.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='free' type-id='type-id-225' visibility='default' filepath='./include/linux/module.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_symbol' size-in-bits='96' is-struct='yes' visibility='default' filepath='./include/linux/export.h' line='69' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='name_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='namespace_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s32' type-id='type-id-227' filepath='./include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-228'/>
+    <typedef-decl name='__s32' type-id='type-id-1' filepath='./include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-227'/>
+    <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='69' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/moduleparam.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/moduleparam.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='perm' type-id='type-id-231' visibility='default' filepath='./include/linux/moduleparam.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='level' type-id='type-id-232' visibility='default' filepath='./include/linux/moduleparam.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='flags' type-id='type-id-233' visibility='default' filepath='./include/linux/moduleparam.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-234' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='47' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='set' type-id='type-id-236' visibility='default' filepath='./include/linux/moduleparam.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get' type-id='type-id-237' visibility='default' filepath='./include/linux/moduleparam.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='type-id-172' visibility='default' filepath='./include/linux/moduleparam.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s8' type-id='type-id-238' filepath='./include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-232'/>
+    <typedef-decl name='__s8' type-id='type-id-38' filepath='./include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-238'/>
+    <typedef-decl name='u8' type-id='type-id-239' filepath='./include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-233'/>
+    <typedef-decl name='__u8' type-id='type-id-40' filepath='./include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-239'/>
+    <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='76' column='1' id='type-id-234'>
+      <data-member access='private'>
+        <var-decl name='arg' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='type-id-240' visibility='default' filepath='./include/linux/moduleparam.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arr' type-id='type-id-241' visibility='default' filepath='./include/linux/moduleparam.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='86' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='maxlen' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='string' type-id='type-id-9' visibility='default' filepath='./include/linux/moduleparam.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='92' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='elemsize' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num' type-id='type-id-244' visibility='default' filepath='./include/linux/moduleparam.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elem' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='307' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-108' visibility='default' filepath='./include/linux/module.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='text_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ro_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ro_after_init_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mtn' type-id='type-id-245' visibility='default' filepath='./include/linux/module.h' line='320' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='302' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='node' type-id='type-id-246' visibility='default' filepath='./include/linux/module.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/rbtree_latch.h' line='40' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-35' visibility='default' filepath='./include/linux/rbtree_latch.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_arch_specific' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/module.h' line='8' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-88'/>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <qualified-type-def type-id='type-id-253' const='yes' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-229' const='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <qualified-type-def type-id='type-id-235' const='yes' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-226' const='yes' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-204' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-202'/>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-243' const='yes' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-241'/>
+    <qualified-type-def type-id='type-id-242' const='yes' id='type-id-263'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-79' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-228' const='yes' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-55'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-151' const='yes' id='type-id-231'/>
+    <qualified-type-def type-id='type-id-153' const='yes' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-30' const='yes' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-286'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-287'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-304' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-318'/>
+    <var-decl name='__this_module' type-id='type-id-47' visibility='default' filepath='./include/linux/export.h' line='15' column='1'/>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-52'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-260'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-288'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-283'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-285'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-294'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-292'/>
+      <return type-id='type-id-216'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-295'>
+      <return type-id='type-id-57'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-296'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-298'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-299'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-300'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-302'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-303'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-304'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-305'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-306'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-307'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-289'/>
+      <parameter type-id='type-id-287'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-309'>
+      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-310'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-311'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-318'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-313'>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-293'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff/test-crc-1.xml b/tests/data/test-abidiff/test-crc-1.xml
new file mode 100644
index 000000000000..9e1289ce5584
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-1.xml
@@ -0,0 +1,1601 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe52d5bcf'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfda43846'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xee94d699'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x41336c46'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <var-decl name='exported_variable' type-id='type-id-1' mangled-name='exported_variable' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='9' column='1' elf-symbol-id='exported_variable'/>
+    <var-decl name='exported_variable_gpl' type-id='type-id-1' mangled-name='exported_variable_gpl' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='12' column='1' elf-symbol-id='exported_variable_gpl'/>
+    <function-decl name='exported_function' mangled-name='exported_function' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='3' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='exported_function'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.mod.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+
+
+
+
+
+
+
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-4'>
+      <subrange length='4' type-id='type-id-5' id='type-id-6'/>
+
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-8'/>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='2048' id='type-id-10'>
+      <subrange length='32' type-id='type-id-5' id='type-id-11'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='192' id='type-id-12'>
+      <subrange length='3' type-id='type-id-5' id='type-id-13'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-14'>
+      <subrange length='2048' type-id='type-id-5' id='type-id-15'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='448' id='type-id-16'>
+      <subrange length='56' type-id='type-id-5' id='type-id-17'/>
+
+    </array-type-def>
+    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <class-decl name='exception_table_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/>
+    <class-decl name='file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-20'/>
+    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-21'/>
+    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-22'/>
+    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-23'/>
+    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/>
+    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-27'/>
+    <class-decl name='task_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
+    <class-decl name='vm_operations_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-30'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-31'/>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-32'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-33'/>
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='384' id='type-id-35'>
+      <subrange length='2' type-id='type-id-5' id='type-id-36'/>
+
+    </array-type-def>
+    <type-decl name='short int' size-in-bits='16' id='type-id-37'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-38'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-39'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-40'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-41'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='2816' id='type-id-42'>
+      <subrange length='44' type-id='type-id-5' id='type-id-43'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-5' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <class-decl name='module' size-in-bits='4608' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='347' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-48' visibility='default' filepath='./include/linux/module.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/module.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='./include/linux/module.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mkobj' type-id='type-id-50' visibility='default' filepath='./include/linux/module.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='modinfo_attrs' type-id='type-id-51' visibility='default' filepath='./include/linux/module.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='version' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='srcversion' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='holders_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='num_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='kp' type-id='type-id-56' visibility='default' filepath='./include/linux/module.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='num_kp' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='num_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='unused_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='unused_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='num_unused_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='num_unused_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='unused_gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='unused_gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='async_probe_requested' type-id='type-id-57' visibility='default' filepath='./include/linux/module.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='gpl_future_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='gpl_future_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='401' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='num_gpl_future_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='num_exentries' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='extable' type-id='type-id-58' visibility='default' filepath='./include/linux/module.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='init' type-id='type-id-59' visibility='default' filepath='./include/linux/module.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='core_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='init_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='arch' type-id='type-id-61' visibility='default' filepath='./include/linux/module.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='taints' type-id='type-id-5' visibility='default' filepath='./include/linux/module.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='args' type-id='type-id-9' visibility='default' filepath='./include/linux/module.h' line='441' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='module_state' filepath='./include/linux/module.h' line='295' column='1' id='type-id-48'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='MODULE_STATE_LIVE' value='0'/>
+      <enumerator name='MODULE_STATE_COMING' value='1'/>
+      <enumerator name='MODULE_STATE_GOING' value='2'/>
+      <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
+    </enum-decl>
+    <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/types.h' line='181' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='42' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/module.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='drivers_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mp' type-id='type-id-65' visibility='default' filepath='./include/linux/module.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='kobj_completion' type-id='type-id-66' visibility='default' filepath='./include/linux/module.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='65' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kobject.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='type-id-53' visibility='default' filepath='./include/linux/kobject.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='kset' type-id='type-id-67' visibility='default' filepath='./include/linux/kobject.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ktype' type-id='type-id-68' visibility='default' filepath='./include/linux/kobject.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sd' type-id='type-id-69' visibility='default' filepath='./include/linux/kobject.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='kref' type-id='type-id-70' visibility='default' filepath='./include/linux/kobject.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='state_initialized' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='state_in_sysfs' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='state_add_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='state_remove_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='uevent_suppress' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kset' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='193' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='list_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/kobject.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/kobject.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='uevent_ops' type-id='type-id-73' visibility='default' filepath='./include/linux/kobject.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='spinlock_t' type-id='type-id-74' filepath='./include/linux/spinlock_types.h' line='73' column='1' id='type-id-72'/>
+    <class-decl name='spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='61' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='62' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='rlock' type-id='type-id-76' visibility='default' filepath='./include/linux/spinlock_types.h' line='63' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='raw_spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='20' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raw_lock' type-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='arch_spinlock_t' type-id='type-id-78' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-77'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-78'/>
+    <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='157' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter' type-id='type-id-80' visibility='default' filepath='./include/linux/kobject.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-81' visibility='default' filepath='./include/linux/kobject.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='uevent' type-id='type-id-82' visibility='default' filepath='./include/linux/kobject.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='149' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argv' type-id='type-id-12' visibility='default' filepath='./include/linux/kobject.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='envp' type-id='type-id-10' visibility='default' filepath='./include/linux/kobject.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='envp_idx' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='buf' type-id='type-id-14' visibility='default' filepath='./include/linux/kobject.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18656'>
+        <var-decl name='buflen' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='154' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_type' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='139' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='release' type-id='type-id-85' visibility='default' filepath='./include/linux/kobject.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sysfs_ops' type-id='type-id-86' visibility='default' filepath='./include/linux/kobject.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='default_attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/kobject.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_groups' type-id='type-id-88' visibility='default' filepath='./include/linux/kobject.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='child_ns_type' type-id='type-id-89' visibility='default' filepath='./include/linux/kobject.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='namespace' type-id='type-id-90' visibility='default' filepath='./include/linux/kobject.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_ownership' type-id='type-id-91' visibility='default' filepath='./include/linux/kobject.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='223' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show' type-id='type-id-93' visibility='default' filepath='./include/linux/sysfs.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='store' type-id='type-id-94' visibility='default' filepath='./include/linux/sysfs.h' line='225' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ssize_t' type-id='type-id-95' filepath='./include/linux/types.h' line='60' column='1' id='type-id-96'/>
+    <typedef-decl name='__kernel_ssize_t' type-id='type-id-97' filepath='./include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-95'/>
+    <typedef-decl name='__kernel_long_t' type-id='type-id-31' filepath='./include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-97'/>
+    <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='30' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/sysfs.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='umode_t' type-id='type-id-46' filepath='./include/linux/types.h' line='19' column='1' id='type-id-99'/>
+    <typedef-decl name='size_t' type-id='type-id-100' filepath='./include/linux/types.h' line='55' column='1' id='type-id-101'/>
+    <typedef-decl name='__kernel_size_t' type-id='type-id-102' filepath='./include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-100'/>
+    <typedef-decl name='__kernel_ulong_t' type-id='type-id-5' filepath='./include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-102'/>
+    <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='84' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_visible' type-id='type-id-104' visibility='default' filepath='./include/linux/sysfs.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_bin_visible' type-id='type-id-105' visibility='default' filepath='./include/linux/sysfs.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/sysfs.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bin_attrs' type-id='type-id-106' visibility='default' filepath='./include/linux/sysfs.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='161' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/sysfs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-101' visibility='default' filepath='./include/linux/sysfs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='private' type-id='type-id-108' visibility='default' filepath='./include/linux/sysfs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='read' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='write' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mmap' type-id='type-id-110' visibility='default' filepath='./include/linux/sysfs.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='loff_t' type-id='type-id-111' filepath='./include/linux/types.h' line='46' column='1' id='type-id-112'/>
+    <typedef-decl name='__kernel_loff_t' type-id='type-id-32' filepath='./include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-111'/>
+    <class-decl name='vm_area_struct' size-in-bits='1408' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='292' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vm_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vm_next' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vm_prev' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vm_rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rb_subtree_gap' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vm_mm' type-id='type-id-115' visibility='default' filepath='./include/linux/mm_types.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vm_page_prot' type-id='type-id-116' visibility='default' filepath='./include/linux/mm_types.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vm_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared' type-id='type-id-117' visibility='default' filepath='./include/linux/mm_types.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='anon_vma_chain' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='anon_vma' type-id='type-id-118' visibility='default' filepath='./include/linux/mm_types.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/mm_types.h' line='338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vm_pgoff' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='vm_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='vm_private_data' type-id='type-id-108' visibility='default' filepath='./include/linux/mm_types.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='vm_userfaultfd_ctx' type-id='type-id-121' visibility='default' filepath='./include/linux/mm_types.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='24' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__rb_parent_color' type-id='type-id-5' visibility='default' filepath='./include/linux/rbtree.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rb_right' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rb_left' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mm_struct' size-in-bits='6720' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='370' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='cpu_bitmap' type-id='type-id-44' visibility='default' filepath='./include/linux/mm_types.h' line='533' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='6720' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='371' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mmap' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mm_rb' type-id='type-id-125' visibility='default' filepath='./include/linux/mm_types.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vmacache_seqnum' type-id='type-id-126' visibility='default' filepath='./include/linux/mm_types.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_unmapped_area' type-id='type-id-127' visibility='default' filepath='./include/linux/mm_types.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mmap_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mmap_legacy_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='task_size' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='highest_vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pgd' type-id='type-id-128' visibility='default' filepath='./include/linux/mm_types.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mm_users' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='mm_count' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='pgtables_bytes' type-id='type-id-3' visibility='default' filepath='./include/linux/mm_types.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='map_count' type-id='type-id-1' visibility='default' filepath='./include/linux/mm_types.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='page_table_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mmap_sem' type-id='type-id-130' visibility='default' filepath='./include/linux/mm_types.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='mmlist' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='hiwater_rss' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='438' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='hiwater_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='total_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='locked_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='pinned_vm' type-id='type-id-131' visibility='default' filepath='./include/linux/mm_types.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='data_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='exec_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stack_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='def_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='arg_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='start_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='end_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='start_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='end_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='start_brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='start_stack' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='arg_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='arg_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='env_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='env_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='saved_auxv' type-id='type-id-42' visibility='default' filepath='./include/linux/mm_types.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='rss_stat' type-id='type-id-132' visibility='default' filepath='./include/linux/mm_types.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='binfmt' type-id='type-id-133' visibility='default' filepath='./include/linux/mm_types.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='context' type-id='type-id-134' visibility='default' filepath='./include/linux/mm_types.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='core_state' type-id='type-id-135' visibility='default' filepath='./include/linux/mm_types.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='user_ns' type-id='type-id-136' visibility='default' filepath='./include/linux/mm_types.h' line='488' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='exe_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='tlb_flush_pending' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='tlb_flush_batched' type-id='type-id-57' visibility='default' filepath='./include/linux/mm_types.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6440'>
+        <var-decl name='uprobes_state' type-id='type-id-137' visibility='default' filepath='./include/linux/mm_types.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='async_put_work' type-id='type-id-138' visibility='default' filepath='./include/linux/mm_types.h' line='526' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='31' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb_node' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-139' filepath='./include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-126'/>
+    <typedef-decl name='__u64' type-id='type-id-33' filepath='./include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-139'/>
+    <typedef-decl name='pgd_t' type-id='type-id-140' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-141'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-141' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgd' type-id='type-id-142' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgdval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='18' column='1' id='type-id-142'/>
+    <typedef-decl name='atomic_t' type-id='type-id-143' filepath='./include/linux/types.h' line='173' column='1' id='type-id-129'/>
+    <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-129' visibility='default' filepath='./include/linux/types.h' line='171' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-1' visibility='default' filepath='./include/linux/types.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='atomic_long_t' type-id='type-id-131' filepath='./include/asm-generic/atomic-long.h' line='12' column='1' id='type-id-3'/>
+    <typedef-decl name='atomic64_t' type-id='type-id-144' filepath='./include/linux/types.h' line='178' column='1' id='type-id-131'/>
+    <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-131' visibility='default' filepath='./include/linux/types.h' line='176' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-145' visibility='default' filepath='./include/linux/types.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s64' type-id='type-id-146' filepath='./include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-145'/>
+    <typedef-decl name='__s64' type-id='type-id-32' filepath='./include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-146'/>
+    <class-decl name='rw_semaphore' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/rwsem.h' line='35' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_lock' type-id='type-id-147' visibility='default' filepath='./include/linux/rwsem.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/rwsem.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='raw_spinlock_t' type-id='type-id-76' filepath='./include/linux/spinlock_types.h' line='29' column='1' id='type-id-147'/>
+    <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/mm_types_task.h' line='60' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='./include/linux/mm_types_task.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mm_context_t' type-id='type-id-148' filepath='./arch/x86/include/asm/mmu.h' line='57' column='1' id='type-id-134'/>
+    <class-decl name='__anonymous_struct__5' size-in-bits='576' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-134' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='13' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ctx_id' type-id='type-id-126' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tlb_gen' type-id='type-id-131' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ia32_compat' type-id='type-id-46' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='lock' type-id='type-id-149' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vdso' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vdso_image' type-id='type-id-150' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='perf_rdpmc_allowed' type-id='type-id-129' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='pkey_allocation_map' type-id='type-id-151' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='execute_only_pkey' type-id='type-id-152' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mutex' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/mutex.h' line='53' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/mutex.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mutex.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/mutex.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vdso_image' size-in-bits='832' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='13' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='alt' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alt_len' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sym_vvar_start' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sym_vvar_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym_pvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='sym_hvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='sym_VDSO32_NOTE_MASK' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sym___kernel_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym___kernel_rt_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sym___kernel_vsyscall' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_int80_landing_pad' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u16' type-id='type-id-154' filepath='./include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-151'/>
+    <typedef-decl name='__u16' type-id='type-id-46' filepath='./include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-154'/>
+    <typedef-decl name='s16' type-id='type-id-155' filepath='./include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-152'/>
+    <typedef-decl name='__s16' type-id='type-id-37' filepath='./include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-155'/>
+    <class-decl name='core_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='363' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nr_threads' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dumper' type-id='type-id-157' visibility='default' filepath='./include/linux/mm_types.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='startup' type-id='type-id-158' visibility='default' filepath='./include/linux/mm_types.h' line='366' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='358' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='task' type-id='type-id-159' visibility='default' filepath='./include/linux/mm_types.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-160' visibility='default' filepath='./include/linux/mm_types.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='completion' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/completion.h' line='26' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='done' type-id='type-id-41' visibility='default' filepath='./include/linux/completion.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait' type-id='type-id-161' visibility='default' filepath='./include/linux/completion.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='wait_queue_head_t' type-id='type-id-162' filepath='./include/linux/wait.h' line='38' column='1' id='type-id-161'/>
+    <class-decl name='wait_queue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/wait.h' line='34' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-72' visibility='default' filepath='./include/linux/wait.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-49' visibility='default' filepath='./include/linux/wait.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bool' type-id='type-id-7' filepath='./include/linux/types.h' line='30' column='1' id='type-id-57'/>
+    <class-decl name='uprobes_state' is-struct='yes' visibility='default' filepath='./include/linux/uprobes.h' line='142' column='1' id='type-id-137'/>
+    <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/workqueue.h' line='102' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-3' visibility='default' filepath='./include/linux/workqueue.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/workqueue.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='func' type-id='type-id-163' visibility='default' filepath='./include/linux/workqueue.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='work_func_t' type-id='type-id-164' filepath='./include/linux/workqueue.h' line='21' column='1' id='type-id-163'/>
+    <typedef-decl name='pgprot_t' type-id='type-id-165' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-116'/>
+    <class-decl name='pgprot' size-in-bits='64' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgprot' type-id='type-id-166' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgprotval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='19' column='1' id='type-id-166'/>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='322' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb_subtree_last' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='283' column='1' id='type-id-121'/>
+    <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/kobject_ns.h' line='39' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='./include/linux/kobject_ns.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='current_may_mount' type-id='type-id-169' visibility='default' filepath='./include/linux/kobject_ns.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grab_current_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='netlink_ns' type-id='type-id-171' visibility='default' filepath='./include/linux/kobject_ns.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='initial_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='drop_ns' type-id='type-id-172' visibility='default' filepath='./include/linux/kobject_ns.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='kobj_ns_type' filepath='./include/linux/kobject_ns.h' line='26' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
+      <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
+      <enumerator name='KOBJ_NS_TYPES' value='2'/>
+    </enum-decl>
+    <typedef-decl name='kuid_t' type-id='type-id-173' filepath='./include/linux/uidgid.h' line='23' column='1' id='type-id-174'/>
+    <class-decl name='__anonymous_struct__7' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-174' visibility='default' filepath='./include/linux/uidgid.h' line='21' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-175' visibility='default' filepath='./include/linux/uidgid.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uid_t' type-id='type-id-176' filepath='./include/linux/types.h' line='32' column='1' id='type-id-175'/>
+    <typedef-decl name='__kernel_uid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-176'/>
+    <typedef-decl name='kgid_t' type-id='type-id-177' filepath='./include/linux/uidgid.h' line='28' column='1' id='type-id-178'/>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-178' visibility='default' filepath='./include/linux/uidgid.h' line='26' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-179' visibility='default' filepath='./include/linux/uidgid.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gid_t' type-id='type-id-180' filepath='./include/linux/types.h' line='33' column='1' id='type-id-179'/>
+    <typedef-decl name='__kernel_gid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-180'/>
+    <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='131' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='active' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parent' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kernfs.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/kernfs.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ns' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hash' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='' type-id='type-id-182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='id' type-id='type-id-183' visibility='default' filepath='./include/linux/kernfs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='./include/linux/kernfs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/kernfs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='iattr' type-id='type-id-184' visibility='default' filepath='./include/linux/kernfs.h' line='161' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='150' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='dir' type-id='type-id-185' visibility='default' filepath='./include/linux/kernfs.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='symlink' type-id='type-id-186' visibility='default' filepath='./include/linux/kernfs.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-187' visibility='default' filepath='./include/linux/kernfs.h' line='153' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='84' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subdirs' type-id='type-id-5' visibility='default' filepath='./include/linux/kernfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='children' type-id='type-id-125' visibility='default' filepath='./include/linux/kernfs.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='root' type-id='type-id-188' visibility='default' filepath='./include/linux/kernfs.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_root' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='183' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ino_idr' type-id='type-id-190' visibility='default' filepath='./include/linux/kernfs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='last_ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='next_generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='syscall_ops' type-id='type-id-192' visibility='default' filepath='./include/linux/kernfs.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='supers' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='deactivate_waitq' type-id='type-id-161' visibility='default' filepath='./include/linux/kernfs.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/idr.h' line='19' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idr_rt' type-id='type-id-193' visibility='default' filepath='./include/linux/idr.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='idr_base' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='idr_next' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='xarray' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/xarray.h' line='292' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/xarray.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_flags' type-id='type-id-194' visibility='default' filepath='./include/linux/xarray.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xa_head' type-id='type-id-108' visibility='default' filepath='./include/linux/xarray.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gfp_t' type-id='type-id-41' filepath='./include/linux/types.h' line='153' column='1' id='type-id-194'/>
+    <typedef-decl name='u32' type-id='type-id-195' filepath='./include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-191'/>
+    <typedef-decl name='__u32' type-id='type-id-41' filepath='./include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-195'/>
+    <class-decl name='kernfs_syscall_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='171' column='1' id='type-id-196'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show_options' type-id='type-id-197' visibility='default' filepath='./include/linux/kernfs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mkdir' type-id='type-id-198' visibility='default' filepath='./include/linux/kernfs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rmdir' type-id='type-id-199' visibility='default' filepath='./include/linux/kernfs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rename' type-id='type-id-200' visibility='default' filepath='./include/linux/kernfs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='show_path' type-id='type-id-201' visibility='default' filepath='./include/linux/kernfs.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='96' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='target_kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='100' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-202' visibility='default' filepath='./include/linux/kernfs.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='open' type-id='type-id-203' visibility='default' filepath='./include/linux/kernfs.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-112' visibility='default' filepath='./include/linux/kernfs.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='notify_next' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='220' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='open' type-id='type-id-205' visibility='default' filepath='./include/linux/kernfs.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='release' type-id='type-id-206' visibility='default' filepath='./include/linux/kernfs.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_show' type-id='type-id-207' visibility='default' filepath='./include/linux/kernfs.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='seq_start' type-id='type-id-208' visibility='default' filepath='./include/linux/kernfs.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='seq_next' type-id='type-id-209' visibility='default' filepath='./include/linux/kernfs.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='seq_stop' type-id='type-id-210' visibility='default' filepath='./include/linux/kernfs.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='read' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='prealloc' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='write' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='poll' type-id='type-id-212' visibility='default' filepath='./include/linux/kernfs.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mmap' type-id='type-id-213' visibility='default' filepath='./include/linux/kernfs.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_open_file' size-in-bits='1088' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='200' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file' type-id='type-id-120' visibility='default' filepath='./include/linux/kernfs.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_file' type-id='type-id-215' visibility='default' filepath='./include/linux/kernfs.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='prealloc_mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='event' type-id='type-id-1' visibility='default' filepath='./include/linux/kernfs.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prealloc_buf' type-id='type-id-9' visibility='default' filepath='./include/linux/kernfs.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='mmapped' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='released' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/kernfs.h' line='217' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__poll_t' type-id='type-id-41' filepath='./include/uapi/linux/types.h' line='52' column='1' id='type-id-216'/>
+    <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='./include/linux/kernfs.h' line='108' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-217' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='id' type-id='type-id-126' visibility='default' filepath='./include/linux/kernfs.h' line='119' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__9' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='109' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/kref.h' line='19' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refcount' type-id='type-id-218' visibility='default' filepath='./include/linux/kref.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='refcount_t' type-id='type-id-219' filepath='./include/linux/refcount.h' line='21' column='1' id='type-id-218'/>
+    <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/refcount.h' line='19' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refs' type-id='type-id-129' visibility='default' filepath='./include/linux/refcount.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='50' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/module.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='show' type-id='type-id-221' visibility='default' filepath='./include/linux/module.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='store' type-id='type-id-222' visibility='default' filepath='./include/linux/module.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='setup' type-id='type-id-223' visibility='default' filepath='./include/linux/module.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='test' type-id='type-id-224' visibility='default' filepath='./include/linux/module.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='free' type-id='type-id-225' visibility='default' filepath='./include/linux/module.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_symbol' size-in-bits='96' is-struct='yes' visibility='default' filepath='./include/linux/export.h' line='69' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='name_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='namespace_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s32' type-id='type-id-227' filepath='./include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-228'/>
+    <typedef-decl name='__s32' type-id='type-id-1' filepath='./include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-227'/>
+    <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='69' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/moduleparam.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/moduleparam.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='perm' type-id='type-id-231' visibility='default' filepath='./include/linux/moduleparam.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='level' type-id='type-id-232' visibility='default' filepath='./include/linux/moduleparam.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='flags' type-id='type-id-233' visibility='default' filepath='./include/linux/moduleparam.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-234' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='47' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='set' type-id='type-id-236' visibility='default' filepath='./include/linux/moduleparam.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get' type-id='type-id-237' visibility='default' filepath='./include/linux/moduleparam.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='type-id-172' visibility='default' filepath='./include/linux/moduleparam.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s8' type-id='type-id-238' filepath='./include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-232'/>
+    <typedef-decl name='__s8' type-id='type-id-38' filepath='./include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-238'/>
+    <typedef-decl name='u8' type-id='type-id-239' filepath='./include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-233'/>
+    <typedef-decl name='__u8' type-id='type-id-40' filepath='./include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-239'/>
+    <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='76' column='1' id='type-id-234'>
+      <data-member access='private'>
+        <var-decl name='arg' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='type-id-240' visibility='default' filepath='./include/linux/moduleparam.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arr' type-id='type-id-241' visibility='default' filepath='./include/linux/moduleparam.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='86' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='maxlen' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='string' type-id='type-id-9' visibility='default' filepath='./include/linux/moduleparam.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='92' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='elemsize' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num' type-id='type-id-244' visibility='default' filepath='./include/linux/moduleparam.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elem' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='307' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-108' visibility='default' filepath='./include/linux/module.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='text_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ro_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ro_after_init_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mtn' type-id='type-id-245' visibility='default' filepath='./include/linux/module.h' line='320' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='302' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='node' type-id='type-id-246' visibility='default' filepath='./include/linux/module.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/rbtree_latch.h' line='40' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-35' visibility='default' filepath='./include/linux/rbtree_latch.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_arch_specific' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/module.h' line='8' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-88'/>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <qualified-type-def type-id='type-id-253' const='yes' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-229' const='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <qualified-type-def type-id='type-id-235' const='yes' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-226' const='yes' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-204' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-202'/>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-243' const='yes' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-241'/>
+    <qualified-type-def type-id='type-id-242' const='yes' id='type-id-263'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-79' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-228' const='yes' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-55'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-151' const='yes' id='type-id-231'/>
+    <qualified-type-def type-id='type-id-153' const='yes' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-30' const='yes' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-286'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-287'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-304' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-318'/>
+    <var-decl name='__this_module' type-id='type-id-47' visibility='default' filepath='./include/linux/export.h' line='15' column='1'/>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-52'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-260'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-288'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-283'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-285'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-294'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-292'/>
+      <return type-id='type-id-216'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-295'>
+      <return type-id='type-id-57'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-296'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-298'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-299'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-300'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-302'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-303'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-304'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-305'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-306'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-307'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-289'/>
+      <parameter type-id='type-id-287'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-309'>
+      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-310'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-311'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-318'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-313'>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-293'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff/test-crc-2.xml b/tests/data/test-abidiff/test-crc-2.xml
new file mode 100644
index 000000000000..bf21ca6f93e4
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-2.xml
@@ -0,0 +1,1601 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe52d5bd0'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfda43846'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xee94d699'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x41336c46'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <var-decl name='exported_variable' type-id='type-id-1' mangled-name='exported_variable' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='9' column='1' elf-symbol-id='exported_variable'/>
+    <var-decl name='exported_variable_gpl' type-id='type-id-1' mangled-name='exported_variable_gpl' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='12' column='1' elf-symbol-id='exported_variable_gpl'/>
+    <function-decl name='exported_function' mangled-name='exported_function' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='3' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='exported_function'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.mod.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+
+
+
+
+
+
+
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-4'>
+      <subrange length='4' type-id='type-id-5' id='type-id-6'/>
+
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-8'/>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='2048' id='type-id-10'>
+      <subrange length='32' type-id='type-id-5' id='type-id-11'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='192' id='type-id-12'>
+      <subrange length='3' type-id='type-id-5' id='type-id-13'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-14'>
+      <subrange length='2048' type-id='type-id-5' id='type-id-15'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='448' id='type-id-16'>
+      <subrange length='56' type-id='type-id-5' id='type-id-17'/>
+
+    </array-type-def>
+    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <class-decl name='exception_table_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/>
+    <class-decl name='file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-20'/>
+    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-21'/>
+    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-22'/>
+    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-23'/>
+    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/>
+    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-27'/>
+    <class-decl name='task_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
+    <class-decl name='vm_operations_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-30'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-31'/>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-32'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-33'/>
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='384' id='type-id-35'>
+      <subrange length='2' type-id='type-id-5' id='type-id-36'/>
+
+    </array-type-def>
+    <type-decl name='short int' size-in-bits='16' id='type-id-37'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-38'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-39'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-40'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-41'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='2816' id='type-id-42'>
+      <subrange length='44' type-id='type-id-5' id='type-id-43'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-5' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <class-decl name='module' size-in-bits='4608' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='347' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-48' visibility='default' filepath='./include/linux/module.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/module.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='./include/linux/module.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mkobj' type-id='type-id-50' visibility='default' filepath='./include/linux/module.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='modinfo_attrs' type-id='type-id-51' visibility='default' filepath='./include/linux/module.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='version' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='srcversion' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='holders_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='num_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='kp' type-id='type-id-56' visibility='default' filepath='./include/linux/module.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='num_kp' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='num_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='unused_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='unused_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='num_unused_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='num_unused_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='unused_gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='unused_gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='async_probe_requested' type-id='type-id-57' visibility='default' filepath='./include/linux/module.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='gpl_future_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='gpl_future_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='401' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='num_gpl_future_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='num_exentries' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='extable' type-id='type-id-58' visibility='default' filepath='./include/linux/module.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='init' type-id='type-id-59' visibility='default' filepath='./include/linux/module.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='core_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='init_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='arch' type-id='type-id-61' visibility='default' filepath='./include/linux/module.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='taints' type-id='type-id-5' visibility='default' filepath='./include/linux/module.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='args' type-id='type-id-9' visibility='default' filepath='./include/linux/module.h' line='441' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='module_state' filepath='./include/linux/module.h' line='295' column='1' id='type-id-48'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='MODULE_STATE_LIVE' value='0'/>
+      <enumerator name='MODULE_STATE_COMING' value='1'/>
+      <enumerator name='MODULE_STATE_GOING' value='2'/>
+      <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
+    </enum-decl>
+    <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/types.h' line='181' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='42' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/module.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='drivers_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mp' type-id='type-id-65' visibility='default' filepath='./include/linux/module.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='kobj_completion' type-id='type-id-66' visibility='default' filepath='./include/linux/module.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='65' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kobject.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='type-id-53' visibility='default' filepath='./include/linux/kobject.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='kset' type-id='type-id-67' visibility='default' filepath='./include/linux/kobject.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ktype' type-id='type-id-68' visibility='default' filepath='./include/linux/kobject.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sd' type-id='type-id-69' visibility='default' filepath='./include/linux/kobject.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='kref' type-id='type-id-70' visibility='default' filepath='./include/linux/kobject.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='state_initialized' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='state_in_sysfs' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='state_add_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='state_remove_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='uevent_suppress' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kset' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='193' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='list_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/kobject.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/kobject.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='uevent_ops' type-id='type-id-73' visibility='default' filepath='./include/linux/kobject.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='spinlock_t' type-id='type-id-74' filepath='./include/linux/spinlock_types.h' line='73' column='1' id='type-id-72'/>
+    <class-decl name='spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='61' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='62' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='rlock' type-id='type-id-76' visibility='default' filepath='./include/linux/spinlock_types.h' line='63' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='raw_spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='20' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raw_lock' type-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='arch_spinlock_t' type-id='type-id-78' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-77'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-78'/>
+    <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='157' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter' type-id='type-id-80' visibility='default' filepath='./include/linux/kobject.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-81' visibility='default' filepath='./include/linux/kobject.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='uevent' type-id='type-id-82' visibility='default' filepath='./include/linux/kobject.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='149' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argv' type-id='type-id-12' visibility='default' filepath='./include/linux/kobject.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='envp' type-id='type-id-10' visibility='default' filepath='./include/linux/kobject.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='envp_idx' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='buf' type-id='type-id-14' visibility='default' filepath='./include/linux/kobject.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18656'>
+        <var-decl name='buflen' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='154' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_type' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='139' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='release' type-id='type-id-85' visibility='default' filepath='./include/linux/kobject.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sysfs_ops' type-id='type-id-86' visibility='default' filepath='./include/linux/kobject.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='default_attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/kobject.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_groups' type-id='type-id-88' visibility='default' filepath='./include/linux/kobject.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='child_ns_type' type-id='type-id-89' visibility='default' filepath='./include/linux/kobject.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='namespace' type-id='type-id-90' visibility='default' filepath='./include/linux/kobject.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_ownership' type-id='type-id-91' visibility='default' filepath='./include/linux/kobject.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='223' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show' type-id='type-id-93' visibility='default' filepath='./include/linux/sysfs.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='store' type-id='type-id-94' visibility='default' filepath='./include/linux/sysfs.h' line='225' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ssize_t' type-id='type-id-95' filepath='./include/linux/types.h' line='60' column='1' id='type-id-96'/>
+    <typedef-decl name='__kernel_ssize_t' type-id='type-id-97' filepath='./include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-95'/>
+    <typedef-decl name='__kernel_long_t' type-id='type-id-31' filepath='./include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-97'/>
+    <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='30' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/sysfs.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='umode_t' type-id='type-id-46' filepath='./include/linux/types.h' line='19' column='1' id='type-id-99'/>
+    <typedef-decl name='size_t' type-id='type-id-100' filepath='./include/linux/types.h' line='55' column='1' id='type-id-101'/>
+    <typedef-decl name='__kernel_size_t' type-id='type-id-102' filepath='./include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-100'/>
+    <typedef-decl name='__kernel_ulong_t' type-id='type-id-5' filepath='./include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-102'/>
+    <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='84' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_visible' type-id='type-id-104' visibility='default' filepath='./include/linux/sysfs.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_bin_visible' type-id='type-id-105' visibility='default' filepath='./include/linux/sysfs.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/sysfs.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bin_attrs' type-id='type-id-106' visibility='default' filepath='./include/linux/sysfs.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='161' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/sysfs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-101' visibility='default' filepath='./include/linux/sysfs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='private' type-id='type-id-108' visibility='default' filepath='./include/linux/sysfs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='read' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='write' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mmap' type-id='type-id-110' visibility='default' filepath='./include/linux/sysfs.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='loff_t' type-id='type-id-111' filepath='./include/linux/types.h' line='46' column='1' id='type-id-112'/>
+    <typedef-decl name='__kernel_loff_t' type-id='type-id-32' filepath='./include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-111'/>
+    <class-decl name='vm_area_struct' size-in-bits='1408' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='292' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vm_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vm_next' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vm_prev' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vm_rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rb_subtree_gap' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vm_mm' type-id='type-id-115' visibility='default' filepath='./include/linux/mm_types.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vm_page_prot' type-id='type-id-116' visibility='default' filepath='./include/linux/mm_types.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vm_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared' type-id='type-id-117' visibility='default' filepath='./include/linux/mm_types.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='anon_vma_chain' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='anon_vma' type-id='type-id-118' visibility='default' filepath='./include/linux/mm_types.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/mm_types.h' line='338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vm_pgoff' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='vm_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='vm_private_data' type-id='type-id-108' visibility='default' filepath='./include/linux/mm_types.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='vm_userfaultfd_ctx' type-id='type-id-121' visibility='default' filepath='./include/linux/mm_types.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='24' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__rb_parent_color' type-id='type-id-5' visibility='default' filepath='./include/linux/rbtree.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rb_right' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rb_left' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mm_struct' size-in-bits='6720' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='370' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='cpu_bitmap' type-id='type-id-44' visibility='default' filepath='./include/linux/mm_types.h' line='533' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='6720' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='371' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mmap' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mm_rb' type-id='type-id-125' visibility='default' filepath='./include/linux/mm_types.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vmacache_seqnum' type-id='type-id-126' visibility='default' filepath='./include/linux/mm_types.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_unmapped_area' type-id='type-id-127' visibility='default' filepath='./include/linux/mm_types.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mmap_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mmap_legacy_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='task_size' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='highest_vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pgd' type-id='type-id-128' visibility='default' filepath='./include/linux/mm_types.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mm_users' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='mm_count' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='pgtables_bytes' type-id='type-id-3' visibility='default' filepath='./include/linux/mm_types.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='map_count' type-id='type-id-1' visibility='default' filepath='./include/linux/mm_types.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='page_table_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mmap_sem' type-id='type-id-130' visibility='default' filepath='./include/linux/mm_types.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='mmlist' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='hiwater_rss' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='438' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='hiwater_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='total_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='locked_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='pinned_vm' type-id='type-id-131' visibility='default' filepath='./include/linux/mm_types.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='data_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='exec_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stack_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='def_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='arg_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='start_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='end_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='start_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='end_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='start_brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='start_stack' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='arg_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='arg_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='env_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='env_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='saved_auxv' type-id='type-id-42' visibility='default' filepath='./include/linux/mm_types.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='rss_stat' type-id='type-id-132' visibility='default' filepath='./include/linux/mm_types.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='binfmt' type-id='type-id-133' visibility='default' filepath='./include/linux/mm_types.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='context' type-id='type-id-134' visibility='default' filepath='./include/linux/mm_types.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='core_state' type-id='type-id-135' visibility='default' filepath='./include/linux/mm_types.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='user_ns' type-id='type-id-136' visibility='default' filepath='./include/linux/mm_types.h' line='488' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='exe_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='tlb_flush_pending' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='tlb_flush_batched' type-id='type-id-57' visibility='default' filepath='./include/linux/mm_types.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6440'>
+        <var-decl name='uprobes_state' type-id='type-id-137' visibility='default' filepath='./include/linux/mm_types.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='async_put_work' type-id='type-id-138' visibility='default' filepath='./include/linux/mm_types.h' line='526' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='31' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb_node' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-139' filepath='./include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-126'/>
+    <typedef-decl name='__u64' type-id='type-id-33' filepath='./include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-139'/>
+    <typedef-decl name='pgd_t' type-id='type-id-140' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-141'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-141' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgd' type-id='type-id-142' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgdval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='18' column='1' id='type-id-142'/>
+    <typedef-decl name='atomic_t' type-id='type-id-143' filepath='./include/linux/types.h' line='173' column='1' id='type-id-129'/>
+    <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-129' visibility='default' filepath='./include/linux/types.h' line='171' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-1' visibility='default' filepath='./include/linux/types.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='atomic_long_t' type-id='type-id-131' filepath='./include/asm-generic/atomic-long.h' line='12' column='1' id='type-id-3'/>
+    <typedef-decl name='atomic64_t' type-id='type-id-144' filepath='./include/linux/types.h' line='178' column='1' id='type-id-131'/>
+    <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-131' visibility='default' filepath='./include/linux/types.h' line='176' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-145' visibility='default' filepath='./include/linux/types.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s64' type-id='type-id-146' filepath='./include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-145'/>
+    <typedef-decl name='__s64' type-id='type-id-32' filepath='./include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-146'/>
+    <class-decl name='rw_semaphore' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/rwsem.h' line='35' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_lock' type-id='type-id-147' visibility='default' filepath='./include/linux/rwsem.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/rwsem.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='raw_spinlock_t' type-id='type-id-76' filepath='./include/linux/spinlock_types.h' line='29' column='1' id='type-id-147'/>
+    <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/mm_types_task.h' line='60' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='./include/linux/mm_types_task.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mm_context_t' type-id='type-id-148' filepath='./arch/x86/include/asm/mmu.h' line='57' column='1' id='type-id-134'/>
+    <class-decl name='__anonymous_struct__5' size-in-bits='576' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-134' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='13' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ctx_id' type-id='type-id-126' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tlb_gen' type-id='type-id-131' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ia32_compat' type-id='type-id-46' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='lock' type-id='type-id-149' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vdso' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vdso_image' type-id='type-id-150' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='perf_rdpmc_allowed' type-id='type-id-129' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='pkey_allocation_map' type-id='type-id-151' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='execute_only_pkey' type-id='type-id-152' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mutex' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/mutex.h' line='53' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/mutex.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mutex.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/mutex.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vdso_image' size-in-bits='832' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='13' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='alt' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alt_len' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sym_vvar_start' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sym_vvar_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym_pvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='sym_hvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='sym_VDSO32_NOTE_MASK' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sym___kernel_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym___kernel_rt_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sym___kernel_vsyscall' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_int80_landing_pad' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u16' type-id='type-id-154' filepath='./include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-151'/>
+    <typedef-decl name='__u16' type-id='type-id-46' filepath='./include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-154'/>
+    <typedef-decl name='s16' type-id='type-id-155' filepath='./include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-152'/>
+    <typedef-decl name='__s16' type-id='type-id-37' filepath='./include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-155'/>
+    <class-decl name='core_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='363' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nr_threads' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dumper' type-id='type-id-157' visibility='default' filepath='./include/linux/mm_types.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='startup' type-id='type-id-158' visibility='default' filepath='./include/linux/mm_types.h' line='366' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='358' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='task' type-id='type-id-159' visibility='default' filepath='./include/linux/mm_types.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-160' visibility='default' filepath='./include/linux/mm_types.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='completion' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/completion.h' line='26' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='done' type-id='type-id-41' visibility='default' filepath='./include/linux/completion.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait' type-id='type-id-161' visibility='default' filepath='./include/linux/completion.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='wait_queue_head_t' type-id='type-id-162' filepath='./include/linux/wait.h' line='38' column='1' id='type-id-161'/>
+    <class-decl name='wait_queue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/wait.h' line='34' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-72' visibility='default' filepath='./include/linux/wait.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-49' visibility='default' filepath='./include/linux/wait.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bool' type-id='type-id-7' filepath='./include/linux/types.h' line='30' column='1' id='type-id-57'/>
+    <class-decl name='uprobes_state' is-struct='yes' visibility='default' filepath='./include/linux/uprobes.h' line='142' column='1' id='type-id-137'/>
+    <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/workqueue.h' line='102' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-3' visibility='default' filepath='./include/linux/workqueue.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/workqueue.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='func' type-id='type-id-163' visibility='default' filepath='./include/linux/workqueue.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='work_func_t' type-id='type-id-164' filepath='./include/linux/workqueue.h' line='21' column='1' id='type-id-163'/>
+    <typedef-decl name='pgprot_t' type-id='type-id-165' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-116'/>
+    <class-decl name='pgprot' size-in-bits='64' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgprot' type-id='type-id-166' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgprotval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='19' column='1' id='type-id-166'/>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='322' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb_subtree_last' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='283' column='1' id='type-id-121'/>
+    <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/kobject_ns.h' line='39' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='./include/linux/kobject_ns.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='current_may_mount' type-id='type-id-169' visibility='default' filepath='./include/linux/kobject_ns.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grab_current_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='netlink_ns' type-id='type-id-171' visibility='default' filepath='./include/linux/kobject_ns.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='initial_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='drop_ns' type-id='type-id-172' visibility='default' filepath='./include/linux/kobject_ns.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='kobj_ns_type' filepath='./include/linux/kobject_ns.h' line='26' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
+      <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
+      <enumerator name='KOBJ_NS_TYPES' value='2'/>
+    </enum-decl>
+    <typedef-decl name='kuid_t' type-id='type-id-173' filepath='./include/linux/uidgid.h' line='23' column='1' id='type-id-174'/>
+    <class-decl name='__anonymous_struct__7' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-174' visibility='default' filepath='./include/linux/uidgid.h' line='21' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-175' visibility='default' filepath='./include/linux/uidgid.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uid_t' type-id='type-id-176' filepath='./include/linux/types.h' line='32' column='1' id='type-id-175'/>
+    <typedef-decl name='__kernel_uid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-176'/>
+    <typedef-decl name='kgid_t' type-id='type-id-177' filepath='./include/linux/uidgid.h' line='28' column='1' id='type-id-178'/>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-178' visibility='default' filepath='./include/linux/uidgid.h' line='26' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-179' visibility='default' filepath='./include/linux/uidgid.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gid_t' type-id='type-id-180' filepath='./include/linux/types.h' line='33' column='1' id='type-id-179'/>
+    <typedef-decl name='__kernel_gid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-180'/>
+    <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='131' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='active' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parent' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kernfs.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/kernfs.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ns' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hash' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='' type-id='type-id-182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='id' type-id='type-id-183' visibility='default' filepath='./include/linux/kernfs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='./include/linux/kernfs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/kernfs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='iattr' type-id='type-id-184' visibility='default' filepath='./include/linux/kernfs.h' line='161' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='150' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='dir' type-id='type-id-185' visibility='default' filepath='./include/linux/kernfs.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='symlink' type-id='type-id-186' visibility='default' filepath='./include/linux/kernfs.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-187' visibility='default' filepath='./include/linux/kernfs.h' line='153' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='84' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subdirs' type-id='type-id-5' visibility='default' filepath='./include/linux/kernfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='children' type-id='type-id-125' visibility='default' filepath='./include/linux/kernfs.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='root' type-id='type-id-188' visibility='default' filepath='./include/linux/kernfs.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_root' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='183' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ino_idr' type-id='type-id-190' visibility='default' filepath='./include/linux/kernfs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='last_ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='next_generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='syscall_ops' type-id='type-id-192' visibility='default' filepath='./include/linux/kernfs.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='supers' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='deactivate_waitq' type-id='type-id-161' visibility='default' filepath='./include/linux/kernfs.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/idr.h' line='19' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idr_rt' type-id='type-id-193' visibility='default' filepath='./include/linux/idr.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='idr_base' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='idr_next' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='xarray' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/xarray.h' line='292' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/xarray.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_flags' type-id='type-id-194' visibility='default' filepath='./include/linux/xarray.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xa_head' type-id='type-id-108' visibility='default' filepath='./include/linux/xarray.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gfp_t' type-id='type-id-41' filepath='./include/linux/types.h' line='153' column='1' id='type-id-194'/>
+    <typedef-decl name='u32' type-id='type-id-195' filepath='./include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-191'/>
+    <typedef-decl name='__u32' type-id='type-id-41' filepath='./include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-195'/>
+    <class-decl name='kernfs_syscall_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='171' column='1' id='type-id-196'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show_options' type-id='type-id-197' visibility='default' filepath='./include/linux/kernfs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mkdir' type-id='type-id-198' visibility='default' filepath='./include/linux/kernfs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rmdir' type-id='type-id-199' visibility='default' filepath='./include/linux/kernfs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rename' type-id='type-id-200' visibility='default' filepath='./include/linux/kernfs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='show_path' type-id='type-id-201' visibility='default' filepath='./include/linux/kernfs.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='96' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='target_kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='100' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-202' visibility='default' filepath='./include/linux/kernfs.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='open' type-id='type-id-203' visibility='default' filepath='./include/linux/kernfs.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-112' visibility='default' filepath='./include/linux/kernfs.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='notify_next' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='220' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='open' type-id='type-id-205' visibility='default' filepath='./include/linux/kernfs.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='release' type-id='type-id-206' visibility='default' filepath='./include/linux/kernfs.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_show' type-id='type-id-207' visibility='default' filepath='./include/linux/kernfs.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='seq_start' type-id='type-id-208' visibility='default' filepath='./include/linux/kernfs.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='seq_next' type-id='type-id-209' visibility='default' filepath='./include/linux/kernfs.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='seq_stop' type-id='type-id-210' visibility='default' filepath='./include/linux/kernfs.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='read' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='prealloc' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='write' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='poll' type-id='type-id-212' visibility='default' filepath='./include/linux/kernfs.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mmap' type-id='type-id-213' visibility='default' filepath='./include/linux/kernfs.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_open_file' size-in-bits='1088' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='200' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file' type-id='type-id-120' visibility='default' filepath='./include/linux/kernfs.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_file' type-id='type-id-215' visibility='default' filepath='./include/linux/kernfs.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='prealloc_mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='event' type-id='type-id-1' visibility='default' filepath='./include/linux/kernfs.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prealloc_buf' type-id='type-id-9' visibility='default' filepath='./include/linux/kernfs.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='mmapped' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='released' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/kernfs.h' line='217' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__poll_t' type-id='type-id-41' filepath='./include/uapi/linux/types.h' line='52' column='1' id='type-id-216'/>
+    <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='./include/linux/kernfs.h' line='108' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-217' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='id' type-id='type-id-126' visibility='default' filepath='./include/linux/kernfs.h' line='119' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__9' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='109' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/kref.h' line='19' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refcount' type-id='type-id-218' visibility='default' filepath='./include/linux/kref.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='refcount_t' type-id='type-id-219' filepath='./include/linux/refcount.h' line='21' column='1' id='type-id-218'/>
+    <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/refcount.h' line='19' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refs' type-id='type-id-129' visibility='default' filepath='./include/linux/refcount.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='50' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/module.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='show' type-id='type-id-221' visibility='default' filepath='./include/linux/module.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='store' type-id='type-id-222' visibility='default' filepath='./include/linux/module.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='setup' type-id='type-id-223' visibility='default' filepath='./include/linux/module.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='test' type-id='type-id-224' visibility='default' filepath='./include/linux/module.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='free' type-id='type-id-225' visibility='default' filepath='./include/linux/module.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_symbol' size-in-bits='96' is-struct='yes' visibility='default' filepath='./include/linux/export.h' line='69' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='name_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='namespace_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s32' type-id='type-id-227' filepath='./include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-228'/>
+    <typedef-decl name='__s32' type-id='type-id-1' filepath='./include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-227'/>
+    <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='69' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/moduleparam.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/moduleparam.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='perm' type-id='type-id-231' visibility='default' filepath='./include/linux/moduleparam.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='level' type-id='type-id-232' visibility='default' filepath='./include/linux/moduleparam.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='flags' type-id='type-id-233' visibility='default' filepath='./include/linux/moduleparam.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-234' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='47' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='set' type-id='type-id-236' visibility='default' filepath='./include/linux/moduleparam.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get' type-id='type-id-237' visibility='default' filepath='./include/linux/moduleparam.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='type-id-172' visibility='default' filepath='./include/linux/moduleparam.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s8' type-id='type-id-238' filepath='./include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-232'/>
+    <typedef-decl name='__s8' type-id='type-id-38' filepath='./include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-238'/>
+    <typedef-decl name='u8' type-id='type-id-239' filepath='./include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-233'/>
+    <typedef-decl name='__u8' type-id='type-id-40' filepath='./include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-239'/>
+    <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='76' column='1' id='type-id-234'>
+      <data-member access='private'>
+        <var-decl name='arg' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='type-id-240' visibility='default' filepath='./include/linux/moduleparam.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arr' type-id='type-id-241' visibility='default' filepath='./include/linux/moduleparam.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='86' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='maxlen' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='string' type-id='type-id-9' visibility='default' filepath='./include/linux/moduleparam.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='92' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='elemsize' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num' type-id='type-id-244' visibility='default' filepath='./include/linux/moduleparam.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elem' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='307' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-108' visibility='default' filepath='./include/linux/module.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='text_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ro_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ro_after_init_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mtn' type-id='type-id-245' visibility='default' filepath='./include/linux/module.h' line='320' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='302' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='node' type-id='type-id-246' visibility='default' filepath='./include/linux/module.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/rbtree_latch.h' line='40' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-35' visibility='default' filepath='./include/linux/rbtree_latch.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_arch_specific' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/module.h' line='8' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-88'/>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <qualified-type-def type-id='type-id-253' const='yes' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-229' const='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <qualified-type-def type-id='type-id-235' const='yes' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-226' const='yes' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-204' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-202'/>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-243' const='yes' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-241'/>
+    <qualified-type-def type-id='type-id-242' const='yes' id='type-id-263'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-79' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-228' const='yes' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-55'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-151' const='yes' id='type-id-231'/>
+    <qualified-type-def type-id='type-id-153' const='yes' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-30' const='yes' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-286'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-287'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-304' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-318'/>
+    <var-decl name='__this_module' type-id='type-id-47' visibility='default' filepath='./include/linux/export.h' line='15' column='1'/>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-52'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-260'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-288'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-283'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-285'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-294'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-292'/>
+      <return type-id='type-id-216'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-295'>
+      <return type-id='type-id-57'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-296'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-298'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-299'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-300'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-302'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-303'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-304'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-305'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-306'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-307'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-289'/>
+      <parameter type-id='type-id-287'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-309'>
+      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-310'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-311'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-318'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-313'>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-293'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff/test-crc-report.txt b/tests/data/test-abidiff/test-crc-report.txt
new file mode 100644
index 000000000000..4572a207a5ae
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-report.txt
@@ -0,0 +1,9 @@
+Functions changes summary: 0 Removed, 1 Changed, 0 Added function
+Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
+
+1 function with some indirect sub-type change:
+
+  [C] 'function void exported_function()' has some indirect sub-type changes:
+
+    CRC value (modversions) changed from 0xe52d5bcf to 0xe52d5bd0
+
diff --git a/tests/data/test-abidiff/test-empty-corpus-report.txt b/tests/data/test-abidiff/test-empty-corpus-report.txt
deleted file mode 100644
index a9d032e74e35..000000000000
--- a/tests/data/test-abidiff/test-empty-corpus-report.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Functions changes summary: 0 Removed, 0 Changed, 0 Added function
-Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
-
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index 24c25c06d61c..d3c0f74c62de 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -1,41 +1,41 @@
 <abi-corpus path='data/test-read-dwarf/PR25007-sdhci.ko'>
   <elf-function-symbols>
-    <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_calc_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cleanup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cqe_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cqe_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cqe_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_dumpregs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_enable_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_enable_sdio_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_enable_v4_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_end_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_execute_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_free_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_remove_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_reset_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_runtime_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_runtime_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_send_command' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_send_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_bus_width' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_clock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_ios' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_power' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_power_noreg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_uhs_signaling' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_setup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_start_signal_voltage_switch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x74ae518'/>
+    <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x711f65c'/>
+    <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7bfb1b1a'/>
+    <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x61fdb22'/>
+    <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfeefe08b'/>
+    <elf-symbol name='sdhci_calc_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xbfcabe7e'/>
+    <elf-symbol name='sdhci_cleanup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x380506bd'/>
+    <elf-symbol name='sdhci_cqe_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x69b1936e'/>
+    <elf-symbol name='sdhci_cqe_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x5ebbc838'/>
+    <elf-symbol name='sdhci_cqe_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1e31bffd'/>
+    <elf-symbol name='sdhci_dumpregs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xda29e2bd'/>
+    <elf-symbol name='sdhci_enable_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x3862257d'/>
+    <elf-symbol name='sdhci_enable_sdio_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x143583bc'/>
+    <elf-symbol name='sdhci_enable_v4_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe3843e2e'/>
+    <elf-symbol name='sdhci_end_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe6d3b6ee'/>
+    <elf-symbol name='sdhci_execute_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x452bd7b7'/>
+    <elf-symbol name='sdhci_free_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4626d735'/>
+    <elf-symbol name='sdhci_remove_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x6be911b2'/>
+    <elf-symbol name='sdhci_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x762121fa'/>
+    <elf-symbol name='sdhci_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1a38d936'/>
+    <elf-symbol name='sdhci_reset_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd0ca49ae'/>
+    <elf-symbol name='sdhci_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x2e5157bf'/>
+    <elf-symbol name='sdhci_runtime_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x62e5c15d'/>
+    <elf-symbol name='sdhci_runtime_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4526a0d1'/>
+    <elf-symbol name='sdhci_send_command' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1512952'/>
+    <elf-symbol name='sdhci_send_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x213a51d7'/>
+    <elf-symbol name='sdhci_set_bus_width' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x67f74689'/>
+    <elf-symbol name='sdhci_set_clock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x5825825c'/>
+    <elf-symbol name='sdhci_set_ios' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xddc78000'/>
+    <elf-symbol name='sdhci_set_power' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xc9e167b5'/>
+    <elf-symbol name='sdhci_set_power_noreg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x60affb80'/>
+    <elf-symbol name='sdhci_set_uhs_signaling' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4015e747'/>
+    <elf-symbol name='sdhci_setup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xc5d73caf'/>
+    <elf-symbol name='sdhci_start_signal_voltage_switch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xcb9c7748'/>
+    <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x39f40b95'/>
+    <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xa6de7a42'/>
   </elf-function-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
 
diff --git a/tests/data/test-read-write/test-crc.xml b/tests/data/test-read-write/test-crc.xml
new file mode 100644
index 000000000000..d74bb5700383
--- /dev/null
+++ b/tests/data/test-read-write/test-crc.xml
@@ -0,0 +1,10 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe52d5bcf'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfda43846'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xee94d699'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x41336c46'/>
+  </elf-variable-symbols>
+</abi-corpus>
diff --git a/tests/data/test-symtab/kernel-modversions/Makefile b/tests/data/test-symtab/kernel-modversions/Makefile
new file mode 100644
index 000000000000..1479ae4b03b0
--- /dev/null
+++ b/tests/data/test-symtab/kernel-modversions/Makefile
@@ -0,0 +1,19 @@
+obj-m += one_of_each.o
+
+# Overwrite to an actual kernel dir when using this:
+#
+# $ make KDIR=/path/to/actual/kernel/source/dir
+#
+KDIR := /tmp/some/kernel/source/dir
+
+PWD := $(shell pwd)
+default:
+	make -C $(KDIR) tinyconfig
+	cd $(KDIR) && ./scripts/config -e 64BIT -e MODULES -e MODVERSIONS -e CONFIG_DEBUG_INFO
+	$(MAKE) -C $(KDIR) olddefconfig
+	$(MAKE) -C $(KDIR)
+	$(MAKE) -C $(KDIR) M=$(PWD) modules
+	rm -rf *.mod.c *.o .*.cmd .*.d *.mod modules.order Module.symvers .tmp_versions
+
+clean:
+	rm -f *.ko
diff --git a/tests/data/test-symtab/kernel-modversions/one_of_each.c b/tests/data/test-symtab/kernel-modversions/one_of_each.c
new file mode 120000
index 000000000000..27c87e5758cb
--- /dev/null
+++ b/tests/data/test-symtab/kernel-modversions/one_of_each.c
@@ -0,0 +1 @@
+../kernel/one_of_each.c
\ No newline at end of file
diff --git a/tests/data/test-symtab/kernel-modversions/one_of_each.ko b/tests/data/test-symtab/kernel-modversions/one_of_each.ko
new file mode 100644
index 0000000000000000000000000000000000000000..c6f1bed5a04fdd035459d11260a940ef1b45f35d
GIT binary patch
literal 131760
zcmeFa33Oc5l{R{Bm83eFt29(;vRsyATec<7gN(5)%a$z}TQVLr7@M+&(ttHZg9ivh
z7y^MnfG`sXQxY-|2$_H+gbd^-<4-yRBu)M%Nq2`%(iyswm2|q(dEdA9xm8y{-h2NW
z)_VVXtz}*9@0@-1IcJ}J_8IEd_T{bnb_ZP7@qS!qo0CRfs^d)kDV^FZ$<59pC+=i`
zF2QdQzk524IM1%Q_=7hFmtK12%kS-b_w6sm4&O1bB@1~{8jpRW6LV*P`SYbOeMyP`
z8_(pKsmbZt<Y3}d-}Go-|5!3HJT>OLAvK*cG&eCYJ32WrpU+Em29s0CiNTqz&P3mM
za_i(oGBG)nNcIhkIH!`+<9)-U16wz&T)%Stn)vwSAd+SvY9{{IJ20{NeM^`N?m0AW
ztncjP-0WXxe?v|HDb$_l?+v+sJ;C4dzs~hvIsbpxz)fwA%wfkd-V~j$5>9OICtyM(
zgN=A(@R7+!2Y$0ixK7BNz~3NK0xqY$6YM3OA>|Ac0wv{~|2A8bN@F)jlAs`IO^;PP
z%=ADeo;Inh>{F8D6IfC9RU~C+WR6bEIziG}x-yzf(bWzA%wonTY2k8CD%+);nI<O~
zE*t|>&K$@{;pHS})@*cwMTK`tGU?*N4}lIYL&=<(b!(kqN#W<1a1ImZm{3~yJt?_y
zy%UTU{#Z(qjurk6w6rXvu<#P8I^CL#aEuz%>^13zXRP(nZ53CdnDVrjPp0UeVs<WM
zsA|d0Twj&ydRB2cH74m<)sf$^VwYaUCdDgm@&siqs<<abudH}BMQ^Hje~Lc0;>i?!
zvY;qMj}=lWTFq_w11b9MIGd82k@ey1%TR3|YtH&e7Kh1We=InRoLrOjMD~LzmXBq1
zLx#ulWbk_A<TD|h^-1%+6x*jtNL#U=sw6N_#bfweAlxSFZ%qb_SSx;|jI;$m$}R;U
z``?1SkRUACA(I0-Vu~oCInW%sz%|tvtYYHOF}I|5HwZ-ux0sa~Mg4B*H@h6COi|J;
zb6OqefTAI{@>@VpC>nMPI8B~XG@|G^MWb%f!mW<;f}%0EI=07gUQ{&h<}UzxS<!@B
zNcFy2a&pQE&APE#WWA<YbDH%VMQ0TKPSIHv`NvX}bwU@bNXJ!pnPwUbFW20#g;%Jc
zG7GO#SY_eWS~hOsHCndb!W-StYZ%nk7T&DPO%~pw%*__ws*>9*yj|fw3-55_E78{j
z7T)ceyD>mLZd7{o9yj(RhN$@pi|<oxUbO5FxRpP{FvSDf<A>ZZXP*b3cFot&%=&;6
zqcl?(T>x_^BYonTGIC0K_MSXivCuj1THJy9L*}SFZ$*0WFi5f3Jkx4!0}vB5yVdp;
z>=BTmpiO{rf(a4wUOdZLL&$sxWQEMF+%x%1%KR`=zKGvStv~nL@=pUvTXL^mLpqc0
z;2(S}H<$e|#d1pld#LQUmL|bjg<qR+S3DcOTQl#?=ZGo&VBsSv0S`-h<_Q#P2Xmzp
z+~$?Z%PnS-l*!8zI+JaFi|}dkw!EPf%fb9qyYh~RN*93J$t!aONW+2;fnAedb{BsD
zKs0Oe&ow^=5dGzE&A*?_3brk5T0=2Xs9?KW_cZvb>39DOBFqNayk@sBCqym(3K`0t
z7f83GAm0xP0#O=(vK9Js!hR6(gCajD_Ja~Xhz3NbDtbX6LU*ZPjh}6uvMpo>LKz&o
zg3W>aKcEM3Ch60SlMKi+D9;ReX38_m%H0tNK8<pV9Q*_edIDxEY)m{vL2n>L`?2V#
zB3JV+2*@-JIKd3?XR^>i{K_66;sjejYr8KD#F?SsL_kbI!ATz|TorJsQytN8srfj{
z$RLKJzPS>P>0I$yY9!bFGI&E$LW(yR<(iM=*y2TbhO4;BD#{n&ir}IG!*x8MpiqEL
z!lJOSWob@CKuAH60HdH-K(>Ms5s;&xR6w4BsIV0%hzTfEP$q0)1(gDd6jTW)QLsQj
zR6(`j-l9ywLIG6@;=&fUpopETQLspI>J-#S3zjIT6|hu6oq&1;iv=uGutdOe1xp32
zP*5+RLBTQsjS7}ar7IPz5U^T7gMhUP8U?IZuu}T7QNbz!=O|b$L%Pk$<Y;~tqic7Y
z;!27`m0yDm$mo}pl$-N%?SPk5h;$wO64kH{cuAE=*8wk44ePL$R7)8h$&!TvbR<hu
z!#a{Bs#G1kk{V$vQioTXE8bL^vpQN~zUeh5S{Zu*P1oi`tBSZO(=m=NF!V+`tkG%#
zI;_!!0(4lTaREA#(M1AuyrMM%8ngw`BW2yFG}pv>g6xRsFxHzxo3P-h098ipf*cxE
z1`8Yy9szev|J;ldyD&RFcVY<vI(K3x1lZDj0)kpee_B*BIF_n=D2H2LY0^mWs#Nl5
zI{9Sqo>cN!I(Z`au~hP;O|CVu?m!Uwts9-`b7IG;e}K-`O%04Xv4Lv#cQLDq4Og=(
zN?%mXwkSPb%?2nvRn1zR+;D6r*a3+IPHfiS@i~9TPx;k$TKlSH&Pd}7MO_?xe@fIP
zDyn8|Zo-MZ)i3H&0ak~X39vf6+%NZvwA?F$KZV?y(LpD6m5!x~y;@kTq-!Kc%{TUT
zk(9?qT^9^tH>_=ahbmIR_2~-U8C(ILn&ccbd841_rZmsZ!OoPNTa-szaci3Aw%|;P
z=XSrGJJLLN1s_TA+%3(tjl0L+`+L&`?hF1pRp5Trs&?SLeyu*>AD{>Qq8>_%dIX0!
zPZ#g=x9|Oyr#2j$4%`l&y1rRh*x71Yn_A4<s%a-mUt7(AuA7_bcVahGb8s~MUDedJ
z((kUOPU}Y3PCBtWtEoFpe@``ar1Znp)P>R?sAf0SneC0WnH$4iOWS?UEVfsG9rN>i
z&MdZ1fI73-egW#gVjYH)P+eB6Qv|5Ti5(EOikg$jvrg=M$*ET59t_b3#1$M8ut>pS
zVXIMaB*b>AV~TZ!?gLQA6njesC$PHy*rOR#e3O>>ph#;|@F4;1>fl*i9DGpmV;&Bv
zUJk|{Gtr2rmyb$OYdwz(ux{!Jzmh&CKs|o!Nnz6^KK5||y2QsmQOR*P&XVNdptCv<
z`?R?rRnt?2q-{-47o7xXUWx=K_DuK&{Ama%`i!8)fRmX-D%qqrg-#}Wa*2mCoqAT%
zS6R%?z<Mw^Wij(r08vU=nGA~s<pQ+*WfcN+kjp9s<f-p3&nvsulXgW#rumI0ts*N-
z8oM<%)xp758g;oAt2E``L$0i+RmaoY@v7rXQd{$?<6Beof)?2X3;%+hX}UVsN9XzI
z0v}!Iqr*aL=ND$0kDy)B`Gr}AHwf@X6NApekO1RkUXA=u<JTT~;?Yu;kY>bVvSZIY
zfl~i~MCsl_dE!9z-;p94&qa-HF|(I}&F-FSuFqPJeQlg6|7SMOMlU&P3(_|>wM9O<
zSZHZf?F!ipDBU2m?6plzwi~_?mCAk^VDUboma_?ftEK=~n3`NS`{STWriKR{fXZec
zSFT%g4`Aj_oDz67AYBb<FKhmr8+neIn~?d>ug`qJ4gUyfTG_w5(NGDu(D``M_c%?a
zZkO2!BqLGRDo10d;VO72V;Y~uADz#2U&-YOWxcKP&u)Zj6fM{MrypRO&HasNVR5IN
zab(0Z7EhR4ym}T-iZo6>{4B{U;Z2YzD`WA6u6YK0C3H}W6K=^V04r~4k9!}G$TRhk
z@Q*!t^^pqF&_N>}zXd4@vhwRATfTxMX;S^sSem}TM<4Ui$9?pGoXoWB)kPF7s;vKY
zpzI*-6EZ2SAB3$ib3Ga`oyI}tiJI!;!2)Io$2}fLvn?0AI>k303@}@&To#J9rfB1%
zvwd`q(4v)`<)bD8w<0o{%P)#>-)X@~8CrYGv7%V!;z~VIo|Bt(B?_$~GtNmKk>L@>
zBf=gL_lRbXxWXeG*UE7M9+BY@MtjxptF+f?__ffYqK0xekDfrmI#)(p!FoT~;0K%h
zph<ym!Z&Wo3PF`|>6$!UCzF?#F{E1Mi>e!&E6Awy4j<j(qj&n~T|T<iNADI|hT}Jl
z9cE)WX8D<>jZR~yZ!6Pyz_*oYJYRq=@r?%s=mxRzh-~(CDQN7L99;?;dj#m2wDG6_
z-3m5dARt$4pz*lw3l$_pnr;gkPvo#^dMat`%iawzsBHb&T>!HR2E$z0KA|8f0-jPZ
zEa0;WMg%;kU{t`D6<ieIq<lfan4#`pR4^{!Zxl=j_^yIU0pC~f76C6Sm=W+p1#<#k
zQE*zo|4?v7z^e+*3iyeFO9cGAg14IU(45y4To&R5_b*q|R2nbOW4ANh*e{*T?}4Iv
z#9WH?u8kTJjHSL8`9mJwZcXUE%9AN`x?ku;U~@(q8(dRfVON93Mps(kl*~-6b{bc@
zviM~Ht#KOHE6M{}>ojgrR06k)=519}RWdp=>ojh2%^`@a)4c5}^O&M$MJE*PaHac$
zidqy6*(N_waT$7{GvL86twZUDgx0IMt*A#+KT_8MI+GK20E8$b%UQ$bIjfy;V~=ZY
zLAus-p<6=P77e)(W{s%7ehB1R+6d02>-eW})O9J+39Gbbr@8TzYrdV5c3J^y?*-RS
zyz+n9uCAl;V%PmO5<})=c#7IrH(u?Uc%|2X>lN7M+@LqY^(t;PxTG^nt+bn5_xF$^
zj;Qet*QH@7c-)m`UcnQ7@KQiF2AcEZK=~`4dv6Q|3%EdPPKF<31q<07&ABb;QnL$@
zV7D%f-wI~^9Bqp;NuO?<<eOalSs^b4tDi)P%){UcVf>_93!UH}kSK$=a!n=Eg<h5I
zvSI6;)#cf;F0U>xsq-?|MAFOpnj)da!#Qh9!Xsdk8ML;vXc=g`?5<r9+z(Xitlbv4
z9t8Fh80YOVCh8jQtlb*sC2r#^lXNq%wmnE@Y0<izvK!D6q1P9scUS9+ee|ky!`81!
z-(PRIA-(h5@Xj>7u{O=WvCc;y^wEcemPSeCn~JMfVpwuBHkD>~fv7pvH|A`Lnt#U#
z*>-P=1-C0pMfTYgOQi{6XXCL{1^baBdJ8wzn8yG_Z%wrY>AUQvI{ApnmT6iNzlLJX
z=Kky#J^s!8MY`RQVcOi^^fYp$p_>Pa$>p<}&DXkFORE2>)x4SQWKzUNlo4~uP+Qu3
zk6TPRA=8fM26pNRQ&;Djc2p*Fyl$yZBa7-4=|^RC4Q}~PlnX0ogIh~fwvl4$R=SbL
zAjHHqbE6h)Qgn`6G7-n&OVJiLmpkb;MdvE#0Tt8gX5=q{m>$jCuOHQ&QPk-cpM%Wn
z6diOI?*+P9(GeAMm!fVr{AZZz1B!aw>`Htb^r)f%w<?HoPdIktv}HxsDYP8z!;d^&
zdCt?S4tRXax#kw|%7Aa#8YYdI$u04NAVt+d9mI3@iTTO?yv%GZGe7mpZ7r9zRE2D<
zC}M_g2ewuU2xEMxOR+Jtb)m^Xd!)*(abd7o@olwcx0ki8F3e^q-?rrfRO+^s5l(L1
zFl<{Th8b4jW!ozZ2S$W%uaplaEvPD?W%HBPSukvZWT!1yH;oVN02`ly0v&im418%I
z{0g>eZ9%7r*x7TF5i4#!u#~<}>GSt(MwZggrswgF98nS~a-1F2`r(mGhnCXtFXFV*
z-{M*LA9#fMKtf=V*ZY<svk5@j-ZJd#eanb`zN<N-1%HQ<W%?OJNQy{(EpKxdos04c
zuJnVe{NQRoxW*6O?g!T@kS^}bO}n9;c|yxrmhIYLe(p7S*TzVCz;<mC=b;0(Ym2tu
z$!%-R&mOI@eQYhtqC&O9tyTFvZfSwm#d1c_5pJz7{3Pnoo1)fbg|z(DqKek#m5Xb=
z>zvjGIlVP&&e|;Q=yoYsm$d+3x0=Yv?tBwRDaqPhU?|RlLOG0>n!d4FXLm$^Heq+9
zv=Lm|gx$p<euNiS0i^=!6+{JS<95dcG-*zm0Bzjvash3cQz77hf=U5B3aSL0aDvoW
zNE$7+)VeuHrRUbybp+?olbW&VIj8P$Dc=Fmp44?!T#O8Dd|h{5y76@v77@ff>tXp^
zQ+FbGCkUywE?L+~LAbN6yD0O8RPxDU9?~t(cn%k39jv+u0eMbsxNaolrzjw6YTam*
z4cbh>SflDL$y`v!Ef{|4-YOF_BOJE)QpJU?#g{3DmYrHtcP3*ON~+Maxg0O0FD_<R
zHnT=5V>mbqwnnztwsJ0Z7AaN>r*l}ctdXrqb)O~B&nttU1EJl&N)%+l+lzQtW&3%p
z06p8(U6-$~lH|tgt`GhyRr&^h>30gSrEik)3A01DWrWcK?ZoXd`YWaHD4<LSB5w{J
zMv^w@7Qe__3;qPBZ$-Xaa>9+QzN}_ycFd`}w~%XgoSnKqcqS#|fwD_kg$jI7G+{gw
zAlEtdrfz?L7b}}LL4TXC;DcJ<d^sP~&StiGGn=&qlAOB7i}}WiacVQ_o(%jE$@qul
zPv@}@N`GDsX-a>=M}ILy>+$Mm*>j1Vx=Pn<jhng_H?RTzc-wTpQ@7JCl4aPg-@9B{
zYf|2ie6k}7HiHV8Ry-F`R=94+HJ1SC8aeDn`7y0UBW{#gTnr9)1y<Lc#2rtnz?iF-
zL0Wv=EhVGfHcYrBT&BvL?N~u(+`!whTqxhHTfr@aMRRV^KXEP8yi;z7?#^yD&bY-N
zM6oi>d#iRUuIN%l^@^@iv|7>Cikjp?uI?H)_i;#R*1UUMQGT1EhZX6yUfug~xWW8A
zpm~qFG6Z&0@*!88wI0pt9&=+E=-mnBeB3SJG`>R7r?hsvMftQMyG40g(F4l)jG{*s
zea4N@yFa1mvzqsmqR%OMPSLZ9UQqOTMK3D)g0}NzMPJms6k0%U@T!-$l;|}Ntt0x4
zqAzK=KQ{MIpLFWJ<W@1yzIX(<h|s=xRQF}&4eL8QfWmBFJOW%yX8WcQ;A%qqrcvEj
z+{h;}HmhyfZ@5wJ%5K*8ed@mDmVFJmPgwYEH@pIK?kNkuqxIrdJ_vN`zUM|?1hcX5
zHMipXfME-N;YPVPEVD2(AXX5!&;$%$pQ*DjCs4)>&tePlE(tdv^+BhaZKp}fMpG9*
zCZ#FN7Fs%9b$}w}PV;#{*(0v-CNon)=53fOA;ZIou>AswJ19%{CUs?ja_+(8%CheI
zfV`at7L<{9N!pfWor^qh;76XWJOlC!`konjh};KmyHyRcr0iMRc2_c8>E867rLC>s
z+=2}8g>3`Hq%9Z}-_q=4(&8UPx)thg+p}3_#hbLvl~(y%$T@`m%QH)!A$b~kX3H~2
zp1JbObNtnOC+lbPtNCk+_@AyuD$AE=fjkT48J1^6o<;I3mS>4POXV4rXH1@D@+_BU
zg*+?eStZW}@~oEULV3ph$G^5LH)~<To2c<k6sYbz-nPIsdr?H@aN80$vdzJdqNR$$
z%6diHa@_HxSXa0u1eUeItz^XqwBSm&h)!`z(P~%L(=&Gb!6xIMF|Xy#Zq_%EBYk?4
zG0`S8x9xLH2`pX(?|1bbB1IjFG8A<xGKvnm#Vi)qCe(qHCImdOM_j{+R5CR%<+OFV
zF*e06c#GQlTr-xcv)|1Oxv6dsxS7ntB{LJ>>d9R=uWKW2)}zSzt6kf~y22T454z@s
zm0sW8=Y|PvPv5VH)-vtQql)5+KJJEI24}sZr`%`>HiONIo_1?1fZ7yUuWJYCpLFHw
z(Y&9lXFQ?k7m7v{{j*!xfu`8u{IhEIjOGOc#c|Ydg*eo<tbk1QyVMJ|Wd~#de89ru
zfH*x5t_)<;gFb3=*9Ic1A?XPV*99WYfMNI|D9>RR?U-fqnDAN}i~dFm+MWr7*>!E#
zX95K;0qEJY?X!WRp8>7T(`J4yAciw#;kUJ2XDs|1g;!Yk9fj9f_&qIqvxVOe$ocm!
z3tv+BsD&>FWP9|Kg+J7?&sq4lfe20J%NG7fb6>FVpH!DGTKId_<;xak1S6cb9?S}g
z;(PM7gSo-FKcK%SEX)f={tP&hkJW>U3mHy<%u%>vs$BG%qt_GEx!_#I2Y_2R0FJZM
zE+dx)vc`}amqdBGI*-C_HwMg|$kHLWDNsmY(Yv&F+#7N>EMn>Awg&>{nN)!X0}%qW
zjPk#RUuj8Dm$$a}2TFNV%4Bhlre_ZKfo5+7vvZuva@UfN8)ZpdsMn48>k7+}6fz6(
zto|x$;)|qVd9aURIkbk%Hl*gWA!Yd+%?v;uLH?#N1zOM~FQMv*A%C;jlf5jd&);G0
zO%-a1%2J{dc1oeRuAce7T0+@!uh91Ppe&{GHtm;@YCETyp9toCBE|V!F#Q=?+w;Ln
z4yb6;wB3<mqH8^c-<c7RdqW+JyEDSf!YA$Q=n{~2RHbOR?STw)eyZqW88T7r$UUA>
z#Vn58FH)`eYQ};=B!<jI@}xj*>xxXdwh5W5kW_dR9;#K@Ftk^v?{fF<D4@C}eQ(Qx
zCq>SBG%jS4c=}fDz1>;=gxok%?bD5uw5ytKR{jkfR%t<UtK17KnXdGS(q}#TyogIR
zNcwqIX?ouy={x29=T*=`q*omW0|ggg^8(AkGxJ5H53Z9}qkHj3#B??mF-dL`I#=bt
z4YXL;BOt=^pfu4%_z=??wXYunEw<L&d5K|~SW4%m@)ZILE|c37wYAR6)z*~likw$m
z?_<5rx0SFSy-n%7GJFAq#g*-<@;-oi1y_r-)e5c=(1e~9qi1ULouh_jmEj^iuPHd0
zy6l@nO(C-mY$3T@3>jXPhYWASGufxBk!4@zIIyMsERd+_{F3yi!Mo#e-WW;x!2@Z_
zIQUy1{Vy^vWE2jD+&q4Qw*iWDnwt-vaZNGkV#0%G{hNV<7wZzK%m2Yk6oqv#4_@Y0
z{Q&Kep*j>!e|hIn)JMk(e+;p;=Fn}yAyl%Ml^nV~(vYI>2*=rw-0-1Wv#$pw8anju
za1&D%+?lxxz`j*-=q?eIN!|zXYn5|&anT(>izq*Q1Xt|;2qaxPve?zP-W4r%vuT1h
zuiljlJLBvc9h`Q`x{6IDF2<$Wu9EV{Aj5)ExggNXny#pT5<AY_hYfGjrBL?~SwJl4
z)&sWY9FIN^F6-QSx<73QYfer$-A_kv-{e)){fx*~BklfN0lT5Kc0VhhdaCtxe_lX?
zihgcE_BmXZA;jtalH6wM#a{RGVrgx#C^k{-(sZ9N|CnlTpVqA}wp?MluQF_lO1fH3
zY8G50AVYKBC8ca5Z<cLMxE1#y-M8v>NLkIqjMIHvVFcIEwpq7JznU6<ifij;mGU0B
z={dnSHoNbSJ&%kL&3Lc8`#YuJfjrL5X$23KEr7@~=nuOf{fT!EnjfLfHIq}QGg)~v
z<k&V3Ro)9=n>n1zscCgNA{{7G2`9Q=F*krwtN5{b70R^WC)vLRuo8Z4a&ft2CHyvL
zF@SoB?tjVI1rS#O|C)UipkBf6^DYChI`~UA{a%w8Vt1B))u&kz<|G+)i`kvy=06Oi
zTg>i!*L)7B#|g5ZA!)1JDuv7)Xm+mY9uH7^HKP-gPWP;SIIh*t3CO_hGJZ_=ScvN1
z{2(56)cR?CiL5r>eMf*}RW~>~?R4K+$w?qnwfnB>uczp{tL~+phD;2sdu$8JK+8DP
zcYoMS18Bt`F}HxW;G^aV0IS6(%<}+Niyt$84`8+UaTA2H<LdC=P9}M9o}kiqBEi<l
zYGhTQ*f0$?+yS024F#Ncdf8Hu%&n05l$Xc~wM?oY%6#3+W)rkt$+ngM9N8gLi>LJU
zy6zXu*TE>$_iO&?`*pdWuwDH|iF80U@=d+rRq$e%9~xML`L+N%WB*281392<-;uf8
zqu{$a{6^A<g74?jl<@uoe!5?h6M*Z6&M1D_;;b{u`~&&q?h4h}57|LJ(4j*7LErH#
zq@8=o{|H+2EA}pZuv@x6Fo!gaU)5w6;0O{VhciKQ$mgxkE09{qd6CXS&3jpB1v*08
zm)gVZW0-vlbGm}(1bJRW>Rl-wQpmX<f2>7ZO(yOPI8juP+;oP_2a(|01oc#8y@r%H
zSnbn|lMLv<uI^cCcAabOwx_=2OW;)_?pc=Ifeanlp5-~c0BXcNE5c_1)QEc;!dC<6
z$o4d5Uy8j_y%S`e<vgb0qhMs0Q#B!T7-Ti)-2{j*A4r_VpDH#fWD+3DnIAHjgA~&X
z_g0%H0c2!*7mDw-ATFNL*y-4N*tlCgz9W9Vu7aN;LwnNOQ!t3T3hhbn(b9_mv?sk6
zlurS~ogk~L=G@{}F2nNp5h>~$O<N3Fn$~=Dhhc^^?P!ay%A-4d9}yniRZJOL%hA^G
z3)?+?9o=2BsTumJnHhAB?vZJ=T7|V0CcxDs=6!UZ{rqL&xr+B&Ty1fO#S1L%w7AOR
z0~S}Fi`HL{&V@`C8YEo|P#Mxip==ioQl*Pcy$>4dOSS({F-u$Uu*^uS$VYsWz4v{2
z_fwHt<^uxi6@1Wq5jm^TfPX>*LZUr<=880#6)dLro#__I{E(H5lLTc>k(=$LsMmAv
ztQMX}kY%ms@62xiwE9=`3ZPXBew?=!0IveSfPAT*nZDs>&8YA9UN+f%+2Vn1n@W%+
z^<`X896kgf^<7Zne}nac(qL1H?O3t7*ke0ZlFuS`M|*Ucyxu6%dX9d<&{{;=(JzWk
zS@0#<<Ei$KemO#$wBY&pk9J@wMa$prRo8U%217$rIq%GF18u>L6&(ONH;&#U)4|Gl
z*P_G7u~vKY@;QLG3b-YFJ%A4B(Oa|M2f!iy7OE?xXi*Xpwt^0c`tdDTp*caTCqeSp
zW266p+e3=@2FmubE&*Lg`KtGEY`?=Zc!2+Aq_%-_;@L-UH~$Hwjk`l=3+^-p&_&r&
z@*TZPPC#XDd;i>!bM)>|HL|K)&AUhPs<NF-jyen3L!n@D+6#fqUWi%+ytWa<U+gy!
z%8uS=29c;uxWDi!&=$Nm_7H$o@B@Y400=ulN)RKyl$c}eb$JvCL8eyIz~1xv?CY4#
zR4M)3yzDR`RP*6xK0iRtuiz0wqI2{k3po!$(o9YH$1=_`rC;;WKljnU^wGZ(S`0IO
ze3j{Iv0XgAM*NFYGn1Tkj;}L6Lx!mtCfH!yo#>jV<@hF99Lk*FLNG}4F9xAI8B%E6
zPw+=7s6XB+Kuhk{Q*8}GrZ~s<M7{`_Mz+7l+ZMf$uAn_{gX>xB@x5}lTA>2Y%j8>|
zm5m`V!@*yHYC>iRPicm<QT&W;#y=yc)*Rm#*Z}^zzUg7-_<niCr*39;+Bx2_uwT<b
zcUFHEv~@PeyUcMQt+QLTqM%2<KMrR@i6P;#iacgMjij3KzBA783;jhB>a}Yo=Ej}l
zC&Eu*VYQv^^LM&mPU6t&h)AZekm0w}Loz~{ROt_pi0@;63x8y|j~}XGlBGA0UO*!`
ze#l+IVO7xM2gm)O-w%fUV9XER;s>Yv;1WN$(hsingB$(e-G1;Ne(;|P3fP6!=E8dO
z{auc;m*~P}5z;uapC=z%^DF)`kzM;XQNkFR(G1EU8Jlz{PlT464y4KGg;t1v#UR1{
zLJeYn&6?9FVHw(L#;2Un$_0l|;(%tXDjkNO>hX3qlqCb+6k2OOnG(Ftx1fgB=lu{F
zI$1&+^ZpY+y>F-~y95WCxJuq^mI0{u4V{yH4!~+%zrMxd^7t+(yMFb84jFbZBsI%Y
zN8vtJ|62AcvI<#WnDb1gCrV}@K_&|;mmDNkfG%VMyo6Pt#i~NP<E&Q<DO90vUM=K^
z=w)zdshf2Tc;igcryD03kY`ZuYMM+4FFP}ALy2g9l`E=ucs_DMtKIUaIkrZb517z8
z*Dx%G956#0T$vaaZPHi~da)DQtSC=8w<roL+N!8z+xYB+6KZy2Y^NzhZyB%ww^nc@
zAwv&RCCxC)P^I=WCs4{$PUZ<@oR3s7D17~W2k3odb~9Y2yV*e^{_N)i$=n~OQ$@nN
zJqe{w@T!!AkjwNpNC>@70tXaaaxa{gtBuHc^G4*nsffHc6_Nkut;l~<5#iT~=#;h<
zX6fIotOJ6BS?>97kp-O)jn_Yp`yS`pNX`&wB-P83BrgIHhaiKGOg^yGIawqafru3Z
znc_ttYA5ZBK;)K`kEFBVEl{pBc8Mej3X<0JSjD@U9)K};No8g4m!wcSsiN#@051X&
zX)RqDJ(8lU8-4`ZAA!hSxcoPgB$60`C=f0@h7?913PcJgNiqUaps4U#NhV!fcn|1c
zIn*K%hyo>rk1=666BvOgP+IuBltk2_K(z4NQj&D6@b5uu4+{%Vg5TeoU^qq%YWA9R
z!-H#mbX&zViYZTfc_Kyk6ti<U{dp2H)>oyvo>^Q@jY+A@>d4=-VmE*kn-s6O%oCKk
zsN(t*y|Ut?DSA`I9Vz<UiicA4$$~(N9xJ3$w3^%U52fh4<7`T9M&^gJCs3{U)y$7%
zahN>z$AaC+$u*fzWZ#lv`B>H-$naR63|@>J@#^8sPnzdbY@aG2ZN+}7l7OFr+=sui
zMuko0-<sd0*k36lZP|a6oe5V!_OBzckRUACA@e6BL|8pS&TwFgNN4TIW3z=0y=(C*
z@Q2J6d0vV1;0BPzri84`fo6lSMLS`+rNjndi$1d(gd&73VhfETge^MQiUmj!!WQ)d
z9Z-a@MXOQn2}KB7#JTm9B7`j>dQK6-79HM-@AW7`*rKy=UN0&_*rLmUURH##MMqHX
z)hNOi8H6pm23fCZ7Qz-W>o<xJwutC=iV(JlBL66hjzQQWiga9s2wTKVV<Ey8F*j`C
z6)LFALWC`%+$swZwuoip79wmB%hp?nuthJ!5>{J?utj8UvJhd5$c(iE0v&^}MU>oT
zA;K0B?z8X?H-0mi4_Jt>Meo1>^&n0Z%OY%12}NCDF~SxRBW#h%M%bb%3`{(r5MhgG
z86HH~qG!-dge?;L$S#bwz#PP4^Ripb)u>2pKYO>@zJfgh^yWLeO#n8oonQ``ci~x1
zgA18^Kxzb{oHO}M%DfjTPvW;ytIN5z`~yHzb<VYGNN3U=e9y;nbJ^EYEVmS}vC4jH
zsSF0VZNgpge@ijmn@{B{<Aa4<mX&^3(lhDqH)qL?cP0KvUT$tNla$UAI+Jbg6FyDe
zme-YHIhdbnSMCv+VbrUWiwHz4CQE<tR<LU_A`smPAeuFK=bCQ=h%)oG=Kqo`3brl0
zY%Rq|p?pLj`XKnK>39DbM3|CoUb9>HCnSZ;|G-n(5rK#d3J`%P4e-_&Q#A(>h|)QT
zK$HfEK$HfEK$HfEK$HfEK$HfEKtx@uXha~QyHtP(L}@leAR?RH;c@8l5rODuA($d)
z`*h<Z1M&>YGee%4^0X0%@)3dPgDAJi!A~$B5r`V$ze|bo5rK&IV-X?{5xJU&2t;fF
zA`tx!r88NGQHNv?fGyZs(AsW9AWDTJ%0~nunuX>d0ug}@VnM0717&2~3ZlO0Q4rJV
zp@kT!h^56K#EinZ?k7+%WFE#-WHm=}&3kgJtVo{WDz1Vf`2sXNL8QQN9oH{-MhXS!
zB#eZGO~VsJA_6o#L8M54-Y!In1?U^mkrEN0-}a1@3edO@k*Kg~+?q&CfJPvSlnI-j
zKq8d_Gy+kiN`QV3G_pW|Mj(n*o9EGLJ*Y$$3eZqBk+`tMMTL=g5j$6-V3Fk1DX5Va
zXau52tpJTc6sZ%SC!NS*0UCiQvP8gg6|hu*Mj(pR3((IABg+J61fs}tsZ=8nMOFw{
ztpXYZXau52qk#3Avr_t_5r`tI1e~Ket7S+Lfrz8Y_)>PaDK=0Ps(i*9{gUExvnAIK
zcyWbD*U>Ll4eNjxSBZ2T@M6`l4r_6>l+lqaUMN6EvRE~&BU!9U)xj&S5w;?AcqO^w
zO~n{jmsXh1dCe)Uj6H>>YjaAgirx=e$GCKX;q2C7Ev*)y!&<sffDUVET!4;b=^_C-
zUZphx8ngwaN6Pk~(p(em3I55eJ=&W?o6y>$M+K-dq8H@Qs2G7LdOX+)jY|Zg=!Mzo
zxf4wY(76*mA;6aI6QEy?j`pWTC4<KxO2#ibl*6sBG-)I_lS&><C!Y*npGqD}Cr<<)
zOeIg+<XRK$4*V;UB?3|OSoK%YM~Ofb9jIo17qhD9a5cN4^hMQdi_+uOY=F{J)vOh-
z2SjIr+c07TPIT7a@i~9TPx;k$TKlSH&Pd}Jfhc-$@Q#$IOH`Bu>50D8FX~bOR)?1f
zusXclFZYVH+$)3Mfn0u`9lc7&QpH{^ELPGrlB4DueY;3v1fuA5!9S!L^$t~}HvIZ@
z1@8=2V#h2Ih@v<8d2UMc+#K8v9xZx{@@Ok=P4nCq97yrp?w4~%n&+<IZ7H6+rI}Xf
zJ^tR`n=Wu)@b6Lu?pLj9E8gqZ>I41(deATGp|q$+g26(s5AXB0@BNmiHXNM}Tmv47
zKomV&O>0w&d0RE@MCog*InWY;D0)LR2S?N2RZU$h{qAb&R3Z>X@2sZoH2po*)REE;
zS5p^Cf1sM()TL~1w9Q-^_FCHRb7s-K0_>Qd=W}M!eFD^(MfVF({}t^poP_GKqMaf@
zJx=t1uxSLM==qYP5s0D(L-YZ0)$}0&ixeCdwi*RTLTslxrf8RhBT~l{eM<%>u)6-}
zqZw3ula~3QNNZE@ApwX$#OiK@EOGFNKtz0>hrI|y(Z@^{&SqNlqf*p@#|2n7^@LwZ
z9}}P+Kl-Gw=@K9PxBy+^qo1hcxThizML%uMOV#vLA!%FF(?twNq!Eas&xCnpVIvSl
zKO?9S5s0`qBb)RFVF}n1iAcm<OgaJ)I|GZs;KX9)X#nY2tW1W*f^q@c{#b<o9pqT0
zfIRj6WqD<%J!w~zXPQ?%Y2{gA(x{eAWiTRX)a6>N!jwOcBw0@@kEgfemB*K)w&s<`
zx2EW-7TE*~f7Q-3y&%^|=lSRYAB}jfXo8eo5EfcHU!7^*gH-8!b(Y}`f<_>!4hg_}
zk+aDE0DkSEXJNFICGZd1;h1cZ<v{X1q)7J`$`c2w&m%=Po^eDVV)inY31x7E7G0mk
zI1O>8=+ljp{A-(M`>t3`LHfp~rpQMZ3oVVRSs|MNr5l7^MA2puA`o4QN@YI{u=rfL
z5M9npz*Q#zSC~bJK=d%EC?gO7RIc`MAp+6$fSK!XN_Y;0bk#;6T7(EhPcU;SG8t`X
zUM3<CeG_R~86pt<0U%`lj3<2$A`sQ?GV5@QAtO=SDyLkhp}!98HjVe;kIv`XujKNC
zVj~bOLIfhJQM9}W5s1<N+idP{L<@DDa(Iyu&#0R)Z}aM@n-poBeE3<MSHhbhQC3DB
zA`pEDd{IUqszU^#A-Q4^c}sfS8-YZgSsDp{+mp96Qb8IzV2k*ct?0nYUmDr+DI|%A
zrAK3F`T`$)%ts&h(F1Za)3R5~7ym_-OA&#n1p}H%X$(bVE6jw(G$N7c#tAY{$fbxt
z)Xx&+xZW$#Y|8~_Q+$X(#B8auJ`~-MqK%Kv_R%>)i&k=$jT&Cy$Y?IRD8hZG1t(=_
z?S;kiVwsEhBK;9Ctjx`tj^e{tGV`QoiT^hu5J|6A{3`8rR{UCMQPB!SAfhKwfCxk!
zZ3T!xlm>`Elm>`Elm>`EMBtn74O_DQfWF10Yx2aGLwI?~a6?x4(x`^!3Nk9a!$-IH
z=$$@#myd4s(Yu9~;rLBMhgnh%&&CKu4V}KNOv3@+R;J;60lLID92B4%#D*iX+1I6@
zp<8lvDQM^spl8yCqXKj**l>XWjX>0JT=#`y5Df{DrrUys6FF>}o=O_}vKeq@P}%w=
z9MP<T!7xqa6AF?d;3);e0zRu?M8I<jMg@FX!9@`c;R_1J40Zpaf^h*Ffv90Zz;`ug
zQh-JvYIuu)mo;ZbfJPu{m=o}d=A0Iw5r`Vj2zXU<&I<U6f=dMay@I!zEojbb3N8!r
zg8P@NX(|nu=ds%wf#`WqRF9YoA`tO*WVeU0)Dw4kc)K;B`zkMhg{e8+FZ3d?IU@~-
zK$Kl!SAzybAYu!gC?gOx;6pjue+JMRrvVX&i1L8eIt_?GL{x&=jpiW&5m8l?5r`TP
zfoLa0)@dFh5K-naMa_y%C_)4x4#1!yL?9v>vdw&;VgkL;CO;UabtwIi(0Vo3h<Y^j
zBXw&*XR;X#e<aGuN=G1SKm?+<Azf=i1R~0|XvmE)3lWHD8n=R6E7ROYAZkDaB8v1y
zAZkDaqA#SRAp#KrYNzV|#w+hdAZkDaqQ668$UKPWA~LRSKm?+2rPlyNAR@5MK?EXJ
zj|fB*7e|J4#zr7&Km?+HfE;OI10oO|0h0nmAW8#7AW8#7AR>#hAp+4ipaunqK=gDf
z2N8(U01=2-zp^0$5jE?(_-jA}q93Adaq#>f?Om)8L?C(yB{FxR0HY2`w-ABoXP{*e
z8`o4aJ!A?ny6Y+T2~&%A-V4wOv=}dIAgqiuND;!y5a~x5wFoO?P%f-_2rENWwn54v
ztV~8VIOCd$ure&zqzGYU{tcPUiV#+Y+oLu`2rEO*0~<sP!pi&-3#RGOOoWx;M=56%
zA*@U}j#AetLRgt)KsPHwSQ(1BOA*4#yaF)~C_-47W?a`lst93aeu6v+D{}-zR;|d|
zf}(NOuTM8la^4nEHzDy==gQYC#DA>X8t!71PA2y`Lm)-nLDlr?Y?mXw(OF~TJFO`%
znFfyx!`euC)3mloXjwm;btU0Xfl1`AD=j)L@@3PsZb9%~pjv0$w!q6E<Vd-0dyI+N
zIA`6~Ft5lPzsMxrYOQMzl36NUzfUTXZD5(%P-f1-kVs7%%Ee_{P*KDTU3E583JAku
zIJ&wM+py4FkSZD%2AdV%SZnU{vNqO*sTh^Iak&7Mx^ZQMz0`GS<0=_q`}KzKrW*6S
zCt*`<LHf>rQ=RbHj%`{JXGPMWvZe|{^OC+aRmz7#7F3l`7(WF33;u4RUfP1S2#!;S
ziPm^Gl_;P0)FL>}bM?%$ue0pDN&knE%{gTg(7!0~oTBuG|D0kUy(&GL=d6(}u<&oW
zK{j1VzcWprdtfQ2x}=|b{=Q{sgwoHZdA8<=Oc}|o2)ILA5<A#d8vYvE9x^ZDS@^ej
zg!w?ikMT$J5#KgsqH(K_ZNt7%*fye{Op2zqjTStMBB_uQEF$%7L%^NN6hOe8G(f<e
zG(f<eG(f<eG(f<eG(f-|0_o!R+_b8;=LxMt*u24f)oXI|#z@+5nm36JsNpnk(e@+Y
z&W`--wnes&JBqTXP#yCfRrx$!Xn`GzWlOA<wxhoAHq@aPBRiHA(kHAIRqR+^nNj22
zUhHU)!%DN}tj*$zxl6&itb713;7&`v`HR<tmI6a@+Ju%u^_miJrzIjlo6r&|rHZu)
zEyW>zVigzJEu{kL6+{JS<62?@nlz_OfHtnBTtJ)VR0uerpi)4Of+_(goFFxZseq^0
z(vHnRDm}Npwj+2L{g;3{wTDaTa<wP5T@}5^(8kwx=cOB8dtnhl+<SS4<#SE#iQp*^
zQf+Ora61Lzin8{i%nziJPZsk`YI(+U#Im)(ga8KIsU6AqA_|C;s~wH9L7OQUuNu@|
zlKCH?WY<>vR+;RnfIGF9D)s{I)Ly0-TE=ULwP!MFYdxW7b2(mG!NtYw%4XI`Wef)o
zfvu4(wym6t^&rJ+;dBm5mNl{!sqV7``gvvWJs`9<SBZiwcze+$kfugid#wQ7%GX|(
zuWwG|#%r$+elu1227l>y3b3VblJQ}{o!Z+nevJa!iQ8lJflA*|K$!@*Q+so89o9N+
z&@FzEw-)>yqhLk8TXMpUtX>1|)ZSZ2*BfW2?hkgSWIRxI473&aplBi$aEDw7xKq17
zz<Y$vQRruLf)8qa^M!m+JDb_&&1}{dNOEc)FXjsx47gMKWZ)$vYac$H$37_ic{!6P
z{RJQW#SpE>GeMR;m)NP*fIGDaxKn~s47gK^fIG55vHKhZ+!15;3X>1J8GKZ_5EQ<k
zjpriba4iDv90k(d0|M^wQ%Q>uaEDo3U{-krR@Wln4wn`!fPgzP7>W>Zhm3YZg@8NX
z#-K^SomvFkN!EL%5O9Z^D=Py5cbd75sSE_%p}Vu&Fa+GW4#mne4*_>%S}H=o9in<g
z2)IMES`h;75H-pDQ!N7S+yp7jnumZpY;&6;1l%For|A9I%VSwTpa=nXI0SaPhJZV?
z8a;{BBH#}92`7{j0e3i!uTX@5JFMMq-Vkty$Zp;caEIst<wU?8qDK`W;10d}6N(UU
zhj~vaLckrO=M*8}4$%vW5O9a+MMVg>!*;%`2myDPmqH7OUiI>p620c3bws~Wgn&Cl
z8gQo;0e6TTeV+ty5utr$rWT<e2<<B~fWmBFnE_nP+_)`^fIEct9hus%xRKj1HufEv
zS_ItTe)VR3Q>7LGcRq;RCoDw3otzp5+|hjv0`5>0{*OF9YY}kgaWEST5pd@jz_5h~
zxWip@nS}_r!*P#Wh=4nMF`&*u1l-{!YO#fQb%GlZ2HatVG)dWl>*B|xG=<qhOUEbs
za6xh;d<0N-&#8brOu=^<Fjr(&;*DD*2=9Lfu|ql~k6J|C;pR@R>1q*m=LqVO%|=T+
z&ZSQ1T?f+pwOzmU(f^X(XYImQDS42Vb5V2iE_}WD1U6?f*t_ucX7M$O@bzX^ZWQ6`
z&C)^LKJCKSo0p)R0fW<;FK-Mg9ZtU`*c$cGF?o})*0kOh{5%Sx&nS3%<eC(HNBAsg
z_~O=EvwsRo{CVrU!?!S1!JV1+0od#7*1JRyI*;tukGbJ`Xh+)G`lMSh&Qgj#t|&v%
zClui>o|UXa8G9GMdvOsZh$i>crnhi=>U{J;AAKlIw-r}&=yEgKO0#c;5Q*m67B#<s
zrmd3NV!=z01D1;HPo`KZ%^!R$Rl)noV%qz&Uj`waZtpMBYhY1tdw<gxkRy$3A1Edl
z3=&o(cb@Ht%(`*~S2X^})0Jny_Y4Z1A<s-FlOndEj98|P%-W8~tdv6?TG4x#WnKB#
zC96y;S&!zodNPAfkR_$bdv{kdUFlxYpKOiW_V$~XkRd(ZJ5Ws8f<c+v&G_sI)0A<Q
z>;cr@wr8_C8s4PWZX8k^?fbl5OL~?(L-I88%$8@4JagrlitBX5!FL3{lhxQbubMZi
z`2S)xQdzz{3*=cS&#*ir@+^{Pu{=xUSt?JSXmG%jXPG?9<yj$59!lU{<heke)$&{@
z&$!=s_9CuRa(@3@;d&DV>aHQa7jd0#MiH4=dzZM8l@5LsA+8gV7uRVo;yS&QVntjh
z0?UfHPOSKV7DQYpuDw%=5Z8%r2XUQb{J~}o)o1p55!b00mBqpMCT1Vh);8}&T&JU8
zQ^APql=gLd5!Z=GeZ*eGbs|#Fw-<4pSPXHU*o2EfN)x=ePJ0p8=~^U48P{nq;ySS@
zc3-t<FXB2q39NM@uG1fwrwDPKn1!o*CVmm5$W6s{I)c=_i0kw#<itV0Y1cL}J)E%@
zah(cqTu{k~>qKA?;yO`<WtxY$PDF7<i0f1h&U!_N>vVLDw?W#AxK1a4+BDBD?skw6
z*NKDFqj`wyM42ZPA+8hAh$6&w+6H8Y6LFoW*)y7lxK2Z;;fffNoV|$a#Bz7(V!Ib{
zow$E_z(T}zVy*`f*NF@Dqc#_DolZg06BZ(_)7t?V*NKJLMLTAhJdLhQW6|G8!Cu65
zV%N1@i0iaqEy`)T5Z9>@Xmy@K#C2j9rYuBUCsuLBLd10<yuw1nbt1gZLd11q*_$my
zTqj=L++`u+IuSl<A>ul57ygumi0j0%&sm7LPBfV>TZp($%zeQ^#C2l5FItGWPO=xY
z5OJM2ZC|z!ah=HAldl~_T&Jz*?+FVL*J&r9#C4+L5RC`*W<CyAOqGjX5!Z?4K%EOl
zTqoi?fLkb9;yN9{pS_6d^dwT_Ow*?q*J&@}I{gS)Is}O8L|_r(I<a>=f^ar0V&Ue!
z4+M;ZmT3XRbs|8^C_fBRT4Lim?L}NCp2#y<oTKTP!%xA?-U?>tIF+UGhrCo9*C}sZ
zVFF3m*5O&r=J560usqnuaB~pPkhvPE`JiwCve7&ZAd6bwrZ5Fs&?K++>cKQ`v-Hi2
z>y)>{{5VypCCbBvEwob##dY<}`_&T47Uk|mTqm|i-cin3m+G8mBCgY)Qk;nE#CISx
z2XUP^prTE)7jd1Ap{!~Xah+t>p$KuEn1wwP3yy)bqbfzidmqR!cczLWu9Jw@qKNCn
zERNh7{MCvP*NM@4Lgop1QlMrat`mun`6`kMzl(=zwFrsMdDZDH?Y<oaRJWw>YgzC|
zk%MhLiXOq!w>j9?owaKHe1nUF!?CNHZdSH~!&*d;+$#6NN~SA)qBO&!_ebO<UP<3y
zm8Lr$NneY0o>##UkzO4@T&MG}av-1to|(@f{X>w2uUNj<6M24P5tC$#cmAsU{{~tt
z?B^iD@}M-)Mfh%}&1?Y1x1~Xgtu>#2iD8=9+WD8tw<;{SOfK!z*3Q3NZB5y($oYor
zeOP+_+e%oEUfP|1W%xk|i!0kz<sSg3S8%mR(@VSauMxnwPC@icjsE;m!?MbKkzNZZ
zIGMVq{tRkD6eqBS4DSX)hMQ&_fAGv?pT34HyDdMsrTp_iqU}Q^V!dj0hw+gPBe9f1
z6V73TF`|dF2w{w<af=Yfh{ocDF*;J5j!1N*r2Hq4uFXACD%UQ01$HDVzzbv4b=X{k
z%A_Y<N5o%R(5=@NnsYq*CvbUTjJiH;2pI>Z>*?s%xYj7!Ga_5Zr0a79?1t9b^{jl%
zsmkv9ya0VYx$C(F+s@%C1R+k>m*kFEuS>h07sa+gfo!4-gXub9Dp8+u_i5c;7^AMM
z4BMi4SIha=f@=h1XwJK&lx^hAvWiO>qpn-^l1aiCb=_9DdvmH;w@bg88X5McS*5&3
z?$0EQQP=&kKOwfxh-SQ3ULc-Q@IW3-QNtK@Jy>=S<r&6^U6B67y9P}W%F6e+yONa*
z=wsVFRQV!+ZRT(;Ez#<7L^|MwG3t87JO@Ut@5iQ;7jp`JlD!1LO8B*D2Cx!-o5P?i
zIw`vTCFd+aT+94x_PYS;75qN$;{bMO{*ujU-Xvz(g)m0krZg+U*_({Iqv}E!qnCkn
zN7aQeM*jkYFh=ZWNZM*|1-_1iT+=lkp!Ot;QP-?~!micN3Gl)gb&Z9n{>|S9Gs75l
zot974o!WTU9RZG&gfZ&6vyw5d<QU#{S2aI2Qu^+y7eS)|`@rgjG1?DW#-YCJ!{!43
zTJcBBS3q0vQS%P~R*O%VKLJ=Re$14^a;+9WZkhn%>fb&?CV6n4pwcfO!S<Tfh!dpP
zFby`m4Lo5Q3OK*vWlKdew-7qeOJs#wCRGq+9Hfd!HbLu^Y+Lz4q=rlnWJq7H>w3ZP
z`c|gz*ZkA>>vHR3yZVh1>40kFn|g1q;KlH5@sz=QTY#Ohe<Sab98k9J$XxDG@ZB7K
zt!YHT_j74V8pf#WCE4(%!WebEY_Sbv)b#`Tr1%Q$U?JKa<^vttCEa3A3TfwFawTX{
zhS<CGfnE{?8kj>`A`(f?44ovt&g|uICa40*=PgGkkXp!jk<LP)%UP%r9ii<@?P2yY
z%)W&=UBPoZd7eY+H&Z;Mkn<h<u@><(nVv=}CyEM^`(u3X2?@S6zq=x9!MQXt{>amn
zrx(Vkd#PbeB2jX8eaRnD+Ja@-S0O`3wtIQbO#o`d-7CT$1yCdIZU{dO5LW?>*<Zr;
zquvR!&T>xokhzQ`RTDDr09nm>_b`YsA4vQl{#1bic^k-b=7-EDK#J*wd#cUP0HlJR
zh2ncHh>NH6!Wi`&HXFBkd`J9zT?J*BF4~ixo`Smpv?o1BOWzBiJ?Xii{Cxm%ygq^I
zsyVm#70j?aidcsFM$?WWRhrh^yTdR;n%3LmtFm{e?}OLgUB#54we+@z|GeGPSMTnU
zv1aItVT^kB$h2Cm!rBUN1DA#|>fL8Q)v{rXdiPsw!x;5;SZu=>^>$ip!x;4*uvo$v
zeIA{|7hTaH>Eb4KOu8tP?c!FXN*9}Y9yHXKYX6~PmbTzwnUPkJkN75g&-?PegCcP)
z^8o?%3O;E5fE>oWsm9-sXb=DO3uu`YET*@}=@!ZSkd=&+1Z6%<Znl%6Ue9eO!4HsS
zt>^E|VrWvUe>HC>XbXOvHw<8$;GZdwlaiUf;bzUKZ#hyWo9w=9l+uX{o_1tOeHllK
z!`A^weMd|DufZNI4UVVSE+{sSdu$h!<g<v~*!3=xcO*qxPwy8Dtwp5ueo<`7f-lJ)
zPqp9s<p^!kg6HE!Em%s?s?T`UHTB+LXlN?uo!OUyw&2E!s{nLv^xh=X!OD5pqIV$2
zTJ6otKLik00k?!d51>QZdu#R&0XU>V{4JztQ4$iSK_luHT7mDs3e5>x{Rl|@dTjJR
zaC=A*-$2=3))Sx$DPQ&eak$>_)9QbpM{1jcpLllf?PlE$uS0hTZF_g8*@+AdW7K<>
zZ1`;$qu#qihmd8%81>#Gc?@I3QD-6VR7^}x!3*^jGDa*~y8v~k!Wi}5XYNL#>gWE#
zr$Afq-q=e3R>2Pxx)>XTF`@)9;wM3fNAS9QKN5mW<qUDY{rc?BF`KDU`uFp)!-P=f
ztId4ALe783L(U7mA6cja!Ded8KbCQpDgBy{{<)9-rH}rV&|;YJW2?*^=!x|A*c$OK
z8pi0@I#ab1{gp6A$2ORa0BTUjHp$|EfIEj#Qkwrbl_B$p6xtjEw^UGntW|(kuv-st
z5=Q3Op2#1h0!HyX*0$)+=?dEO7Q3Fs9@{Hdi5kY}*m;?J^|P|^Trk7Ie-gEY%)MSS
zq>UWsux&;S*lNwOeSwQWNEoAI`{k7~31f7uW8s~eKJ6Uqto|)%>uip7nOlLh(cP*Q
z1wHb8ayT1G#2F7ytH@*KmjDvR=-7q+A_?`{H4I~P>_qrKv9M|wqho#kPWQ{f6I#7b
zBvV+(@Z0K$`H2o@Ql$mE<cuA}9~tgrhiaH)=?$c5&CW4|F=8PF2xF862xF862xF86
z2xF862xF862xF862xF862xF862xF862xF862xF862xF862xF862xCN0z%Hyd$LmdQ
zE3VgwjxURl#%02J@-hIw@-GwF3uAPlF)|L#rpD|?X3fC#fMaU)+D3-X)JZ%C4BcYn
z%NwNqo)j<Uky&n@K$`Ne5NE70k4%FYYqRDwN=yfdd4&H|gu#psXvV5i1`tlgJfbXV
zRg+n3V!J)T>wK%PS)X?<GIVB{jd>>k)K#0N>{9@7mAu*90HChgoRj??0K`1vV#h!f
zVR>vMMe~Qrd<IpA3_FO)h;(74a38CG;cG!wA?pisQp#LL$sv~H63xmb2Z?VbD;wY?
z+yYum5CN@OuUMTy%p;auh+q48n?cN@pMf{dBz?MZk^y-J9o&*&uVf5fuV##gC}SQO
z#5`h?G{%uZ%%fky$`SKOm=73(m`4mfQOdFgF^{-IwFohfjxbg85c7yAPZ44s5rq{Y
z<`I#`JTlF0jO~<|M+^}WG8>^)+~vSHtH1{G22`p2M9ibx;&{uVEF+QSzJz2MFwno|
z?p>@G;1y(K<ay|qL?uq}Vf>ZvelbDp8J}LZqu76V*ak?lqBGKwjO062wOBZ%Sd|kj
z2E89eorH0j?u(Elyqz8|R;}$R-fWlYKHd&SM@i(C`)cBRy3s3*wdhjNol;ZjVy638
z4<Pv|j}=qxQPA3`3YY1=iX1oME-om}4Hi@uMBJiKI0i$gb8>UHAqllCaoUTar48~Y
z({<a6UEr)mz^igG1chKFhlx7Df^%}W<Zc$2ZABP_{y~mO=j0Z<xw#4{DKFnwt_c$J
zi``&>pQAt%u5*2*3QOIk<t!e~l!isv44A*LW-4pu=3H_V+X?{Ni&;Sl64;(pLg_pX
z=soIBfUqW{#n$`UxxM_{ayW?jNjPhjI!nu`j0zH1BNkyCs)|vN><cWr)T<Jz*$vg`
z!VGkKTP~HUZDZTx^(b3~HZMvk#rCSkc0$z6Ue(6tskP3Zj|&*vBRe`vAkO4wrbl6^
zKcC&LM`Kfirj1=TuZ57r7B08LE}g>n^6cQ+RyO2gbf`cyu#q&0l^JfTpH|8$>1P(a
zsJ|V#x%s(yQg)3uu57ZEy;e*RO+^rYu{>$Q_VVl8Olo_5F)Ttm2&bj$n`ajrZB<gt
zwsDizldc3I!_&ryn=keOZ|PCjD$I6Zi@)8-!JBlclBfV51W_^b>c^L*(`IPv-wrNc
z7n}Vo9F-mHGd?2WpG}au)2B+SmR&NmzNyk`g~-s`dUnTNH^=rYfu**kdT)Ex?k~#v
z_aY%R$*rvO=o3KG8us~T1kwU!@H_rACUp1{wwE)hbEUJr+>^|ib6|c#9DO~1rL(4(
z9;&(Q&K9uv9oPS&PHVm*;J)T3(2R@Kv6bl1K&5HhobR@vA-b)3jxA<~OH7>OSLRRP
z_#y4ToYw!BoR-YXdBeQn^<##S-spF3|K+p_{7c#Yywgg%X6yInxh(6(;I;N}Wd@6Q
zEdNwxg42LsoCENKJ&*5)``|bG;SToA_&wegSPp|uE}pLY?*;jIy4d|X_;pvEo>?_8
zIWapu+P`XSw7;)^bhvMHEHQI-e73KD)ogNRc4pOJ-)x_djW+pYa(W^;)`-pgspRy`
z=p_E5kd>=OCkDpm29vAi`ld!#_05bo4kss))1w2vtT#`U0%M~Sb7y?49`2hS7+Hny
z@TSB=2H4(^?A7WMAxWo32a}V&M8(eJL^3fslt}gsjI11>B1R`>8^^{ru3tGqP5KaY
zJ~cTrdL}V@b}Bie*&dnUI35Y_2X)MiCBXqYd1h*IdRA%tU(e82-|XlqW?~Q~a6h8d
z=)|aHnwmzPC$+%D<m~9sXmVPSDqHEP<n+MQoR*y(9j83BVPI~0Iypf>5I!?7olH(7
zMkj_QHFtgj+SWHUp6DN)WD`($baG&J3?%yL%U~A<2Q9}8MTfvD1nNi*jxrC%X{l`V
zJ~^I9P7F++ow5y?>Kjg`l!iirMZo~meG|i0RZNF4Ha$5!p6bWcFbr^Pz66`JalK#e
z_;?DT)fdf;PbJ3s`jhMvJ3Bi$K044iHaRhj1auP7u16<^6JA50&hfq(tN1iPYX*}u
z1Bt=pkR7U-spP<D-xw4-Ghve^CYjjSkIul1qzhBilLN__nMsZvWI*6hvTt^7+V*e?
zV>9k4Xl813Vr+8Yq&7b>H>E9R(qPhp`8>*C2Ogc9of*)2m~=*SM@EN7=45!l0Akpq
zPxpDYHZeJvOm`YKH8VNUH#RzZ77}0)o<b9|DaA|=%uT@y*b$rVpG7~ky6Mw1$#EqI
zCda47lCy9JiZ2=+f)!I&Y${rKGMPk|ISxoTJvn{yEpy2^D`zm-KR29U-)({MxmmAE
z<Kx!kPYuq{sG-<7D7xR1JwARh=Cg{O8Mm5CO%>EdZ;_atoSGb)9A+oko-~3uA41;n
zkf;5#GdektI5*BA25}PeT&d*P5C{}k0;*F2OlSJ0r~7PG_+P1PNw@(qCrX*@zbH8{
zn-E(9o;f@7x-2a-og5mNoRi7TQh=JS&St7_y3cA~2L+}-E4B#cls`fX;WcejWmY5C
z$*gv=b<qGQ$z14Wx>;@@h{d541%gf?o^Mz#{?~Hz|4%J${`KGuYsLK40omS?0B7To
zFpc@E00zLW0{(%b1$hexXuCRqO05o{eX9ddYIOi@9RpV^Z=Hbj^y&aGe=(pteEo9a
zTLh5ptqw30Uk2*Z)qxz|qM!uouxkPqjPyD&e{}%Uyw$<O;*<fr)dBU`)d7j=)q(7<
zTOE8!zSRM#o->2>L)yI60eJrEfKK{X2b4}P2w+YF<oH(yz}K%1NP7M1fF%Fw061@T
zVD>yu4BdK-_dGH6ky=4eVE*c$D+qYfD+s`R9#w<Sor5Fg&PiK$4$`g{pyoMtU~6Zj
zWC21;yafnpX}51#({3LLezy-e-|Zv8bNeL4?L)YA`=HWpANeU~s|56w^26yx5PYdc
z5VUXUlN#*80a_Oh5UIHX`t=J3lIAZJK7>47I6%Og>%swA7Y-11;Q*Cd9YE{qz-(`I
zAnjirfW6fron;3yy*e;UR|in@R|h1#ZgohpKn&FC-wkth8*s3p(<KABsg0mB-anm~
z86C!67CRc6Z(?vXnZVmy<AXDaxtZj2Vqh%UH|-qiJ#@Hrf8x-QLkC(rb~$6ybF#8a
ziIXE2JNVp;CyW_*xV{1Iixb!bI>}Sm{5c&56D^%bI(D|gHcpKWBokA8vm>&dO^hWc
zhG$2d=_G18l^k?-?AmoO(b1VWxT9lN=l=Git?&^LH#w1@yBY7BqTfzV5A{I`J+XuT
zza=p>c^d7UnMEIF5;Lc9;F%c5*#jpXYIzm~l_QDG%fKjFlsNsCw7X&Rj&^pmCfYl8
z>^$7w)tcDR(b?f(la-itX6B|aJ!fVT>aLxcKD08?H+SZg^n7$;FnLDy$zC((X4r4&
zaVF6}IXMgF$qBTTdoyc7=>5d#0Fv3_fs>OsZw-x2o|Y+*7#-&p8$s`>PwZ6t=Ei0d
zBgwwO88jHaX4V-$$^Q&6(K0zX<_soI^^K`Tr+os=FENokGwTdu<D8s!MkZ%w6a8qA
zC=8WO15Rsm`o_i*{AhP>;^f5S>524QM&qXE24<bf>CxeYoUqVt^bBL1NF;QLN}S@P
zfCy(2GBBXf(&RAJ<xET`yfIC1=Bigtsk-}M`{C9EEvda@4@~=%oC`Q}o!PPe#Mszq
zV(oa!D%PZ^wJB;{idvtdHuyXvt2(rAM@!;J$HCT}`*yVN-_f$K)#>g$cpj=e)Or|J
zwyV`<IfJaZpH7ws32!+T#bdeRaLM>%6+4|Wdk!frB>5H&<n*j_5?+Z3(9qPW0SZ%<
zO=I}PS_b-{CI0V2r^XW)-##(fH(GH2^yJCpgflY&qnLxauh|HxXZo~a9X_!f>Gv$G
zgmVfi=a9?pkt53SLth*_!DPb;TYy&D4|VR_akzDtn)&#^Oy5uv1A5k(zqR7o-5ZPb
z<Bn`X6Fek9J%g}=xqjH;jP-l6o?uTqm>8U$oQ5@x&dxZAxd}LsLE#r=;eRMfI5O4t
zcXr8eKoRsYV&+4GiGkTO4kmA+Z*~@<y?J@0qqVDj=V2)@2(9%E!oX*p*0CY%3wE8I
z;8yCCOc(^^Pe?XQP%KKfUTDM6+=RH1^;p(0E)$rpTon>@c<c`pI*YX?IqrxNp4Zv3
zH_>q@ak%$DYoep|FvL#xV>EdtPYmG9G41T{+;wDMYvRyh=n_V@yYt}w)?Ie5=c_O=
zJT)dV6Np5}I{K!^&ceT9R`*Q|j-d&1tPm@hn}CCxLSfX?=fHi8Ik+ZK=Y<y7NjEck
zF?^pj%ao~(F?1DAckt#HC*c!@adaPa_V3?uAaP*Fp4P<C)`OkS)NB$S1Es~YPxOr^
zXQtpv(d=1quqRVW_q)Qeq5i~aG<k%%GId*a>^v`l_27Ubj%|E&cp67Z`j><V70VeK
zo0}O)OraSxL|qGEnz+dr8XZf@B%sN1OH3z%_Rdb9Mcc4A$>M-c;K0S1(htjJYHInw
z5efE@Xlviome}9Azw==48%7iMC;i^JV`p1y0;7dd+L_qj-f`rRb={-0IQ&CdgX*2_
z6q#}M@92>QVPE^9!-u%@g2qnuO^?!|&<sp+-o#))XgoM7%#89<Lll99baFbG7(&MA
z^jn;n=>dD2rkl$t{I^^jV(McCHyVinTvlPQV9;D+bS!kEf!ThVOP=+j3FvopQg_i}
z6jCyQ_76|+f(5={2us8y)TnnX)_o@@PFe4iUN^a>;U>#Du=Bu?#O|Gm*8MH8+yOS6
z(;(^4VPi%lFgs~Ow82xOTr@bVarJ@=5xM~Qcup309w03`<9N#%mQM$!Hpe@;A^JR+
zPS<{2XgOyRSOE4Pa)#hgVEedLWdA0dBON>Tx31j?qu|1tNZ|jL!JLDg;?JO(HXSak
zNDIt312{w^@c+xmUwAtz7*iDIYY3UdOq+HFN5vZqIy7Y5LSmlFt|K+2;JDYVh2^pP
z@bz$piJ`u+8QN%{DjJo-4*l+Rges)xp~gBAogMqyJ6gHD=hZ9c6P9XhiF6g^RzS>!
z_pa%w%quMLVULNC#DIIID8s<@R5pqJ9W_*d#&h=Dn>ha=6uT5&6<`}RHFB0)mdOF`
z<hb)xNwU-rQemQ~NleV4N$YK=lLK^aSkEUWAR&>!|K+15J~=_1se#*VU`uD`VXoX5
z)ZOjyf}CkGm{<!jUARra-G@}i<?s}ykFJGd$>F|%vygQrF>n@Q2QjnlGNHT2ei)qW
zQ#?<v=NIeluxT2dOkj6McMq??3t#TMCUv<u)COmeIIw>gyxsxWwCpDLweN2~oLINE
zrTwt@8s7NfK6?O~K|7|@RG{(c*|{nIb_Z^L#^Fr1e)o)yin!MV<~^sHv%h`MK`sE^
zf+n+QtncjP+^n3o=;b(v>?y}iFgO6{81swS+<v8(?K#*1yaTrEm|)lg`jwM%_CpiC
zs<}oT^4rwV5N%Ixu5Ep^08F5PvA$87B$gp`mpf;CKWG51YLFZAljAeItsADza=FJM
zg9|=b;pnV0wq|xHF%E}0tkV>yvc$+~>}S^UvOxVI-Gp~`!nu`qi}o;%=5+7haqv9x
z*J_Rvb~g$e#Zkd-yl74`gfI!7Ns@!{ff1ZNP!IO>xXr}XBYF1kPwd2b;&AK1L*BWh
zZO6XDbVyTBjV_|1e#~|(i(GCv0eBJ++ro$>WG2dVRacQ(4V>wjQ$ANCYZcTo%4NWt
zQYpJnncBXCM-ubaOdgO}xz1GCjj)?Iwk5E4l8w|@AM&T+8gMW>JHb6BE<oY&afgbw
z4mvZZu`-S%)Tdz8>7VMimZB>oEe9>(ihQ`W!<$Fga3t_v9Zq6v)@@!dn;NlM-zg8y
zrXNQS-QOn9BnNO-!hr-ElPPWl{kxw-@TX_|YPIXQG<z6_oIbcoE`(Sd_zUIJsP*6?
zUSAx9oshH<b*Pj&Jx=e0#UU{#2SuF<*!y4(3?$^*z`=Lh=Mn=r!f@L#AWM_XVj4UQ
z6^mWs4Vygi<B8c3teqp1V_3lYw5M;fA+SnYYyYlGEs8si9PV`JDsf+C`=x!gLp6s(
zB(A$LafT8@V|~Lj+^_MtM-PBK#D3Xct6$_c8fzTKs%!tDojW>o6UAo2AkIv|c}X{^
zOWD3+A(yLU2%Q_EtA=IEN~!C}<oG!Dj<S+D+)qIl_72G|e7b*z_vZG3u4FAXeu>$B
zoEWiS;YtdJe9Uq6#nyjfqlR7eG+Q*1Jd@~~8AxyHC#UJBxq8ZQCoth5fOp-qBRDyV
zhZ`8f#KSDX=qJ&>DP^^8$X<S+p`#Pn6<`Y`yI44(IqqH(LzB~q_RgIc-qUa!I6LA9
ziK03ocw6ws&0KfOo22bbjUP4d@Uu?GQ|14T!N?|^N*nFxOc<V?#8NON=RW#CI`cQ!
zPWOQ~Njof?C2D+Z{z)0TC(OU;ByL&Ya`CB(9F};nhfeJNZ~lqJ+i|X0E%QlCEFsz%
z?}OdJDR2+(T?=qM@E=I_baHu~f%oKY02=|>L!C;_@X8lEGQE^@#4&K0q0<<e;~kLR
z;)u)i?Xq;@S~q-FW}xiZ<+9H?jnhHuGFevx-;n^TfYq#jd4=&M`p-DHbbx6cYU@0R
zEg_HOoF%*34<2sE`i)gdwheSDJU4Pjp4h!(-#(r{Joh*|$t@QwY8DPsdIV*#y(6a+
zv#=u`p_`DTC$C|gym-+&%^kC>{ao*O(?J!;9t5hD1ru%z)9REn!=sUJiG~Tw+01%E
zo*HEjC9a<S9aknJvs}IVWP{9QAfZ!;?p3yW1G0{CsghDNxTG1w9Mg#j4W#a(=smH3
zoq=b;1f?^yTS)%@iZUwjH<(YdH*f7Ye6XFH0k3bkphV-u4LEGZjCTx^Gkn?`PYw*&
zjaxsr>|z$|{xD5tPsfq?&Zf=r%`4ZfTpe#5pO|c%nMo=!K7J;ZvR0{egSbgjvhNgg
zH?CLIw0d3BCMAca8Zj3d|F`zu1WxDb{r|riTe2rY82eIVH+E()cE+0B%rIjNGlN-d
zkwlb)HcLsH7Lk-np%N)nl#r4w^$~5_h4R17xn9@po)>+;kMHOI{eB;x@8{=!l>2@^
z@AE$I^S;h?uIoD2Iq!Q?(jyd!oJS_fig#j!w}}zM-S9}rnB1zNl+PTKBE=IXMTn=!
z9w#6xJ3XltwjyYK?o2lqk)siQ^tIBUO^#i@x0T#!glk4}ctmVwxLhQ$RdRZEGr60Q
z?ruaqM`T5aT}sH5shL6<q-kT*<+J#ZjI4->E)vmidUlSH4}R(u;Z`3qTh$L9r@Bm-
zKbCsEs~D9rHhpY%W<+-SM6sF?es(5JaMu+pk(8AbkuEV`#JI73f)*hLTh>eUdzFQZ
z-Yg&D3Y3NKtcZ~^`%SVFw4@k|2yeTk`Ept3>YZH;*5mKbre=CdT9QP7a?hy|GJ51n
zT3Tr+(MI@YwMri==ejRlvR1n)JR-seui<_IBTUpW!l|hAm}I3|)eBC{T_7Zm5dm{(
zQqGB599lruFhmPw{vvxWBroFA$U6I!fK5Dv7#U6a3=r3=^HR*tT*~93(-|W<;BkrG
zNNEaNHnTYAB}?$)N!%x|;6Ac*afr;kLL(eE!PNYz+=dI%Wjy*I#+fBaG`Iy?7plZL
z%c4$PhFH3&tN3k~iT2h*T(*lqT;^7$vGV6lCC<{shg9bbou-al<Sr5wqlqkt$Xh0s
zaqS1nOt^D9KWZ(E4#xl9Z<tSY(S@7GWqLd7+-69c4)e9%F*4`w-8XdfJ85Q(%}PkM
z41@NMj6@B;++UxUhP&3p4VUCZVv^qoB6dipB!N+q?a7#sA{!&jT;fC*5ndWpNV}w4
z5!GQqDQJVG=`tmgY{1wl63)1he9_fmcI0l)?fY<Rfx+|SBb=vmk}5iprp!~k-%wlW
zBS@FskUQ2HEmkOe%0^BSm+!=nY)~)*>4O2+`CVgri|>)#QJ;2kp?d45`CgS=lz=rc
ziSA|PP$ssL|ByJ?Wx8azxJjo@S!HVFXG~*V=;+h?8m(of$~@p=#GjBlF+t|=KIV5e
z+zHerNTfO4yTyw46MH0+$kc%3O!dYxW!1oMu@Ya9J~Hi+Nt-N&xa31fs4ZCvpVN|l
z%oOL~0x?Znr)0V*nJg_J5|rtjlnF`d4M(2A^^~9GV2&Id8|u|0?W5i9{2FpF(i=YO
zAST(n+|a1Q=h9u;J5I)qG(u0dr5c%RO!jL!7qc{>-R47Rmw86UDKn7aCtNPPk+J9Y
z!-@Uz%HZ<wep$-}M=q11IVufVgE5v{z>)Y7imP&Si48Z6bSW}P{<wvtiwYuROwyuV
z+xit4mmTsEq+C(MdzrpS*`R0lt4ygf@k#Yr2A`1)%`uG18mB7-mR%DWiZ}LwoYdnc
zoSLEZ!zIV;K4Yv}I9-g=G3--zSqWmY{Cp*tsFU1RKwO)|^L`z}En3L@KbX>sOOe|Z
zQ!05Po#tp5<tHL?N=V1*-HIujm>@B3Lb`mC^jWC6^qCFchkml5HbN$V&RQctaz@Q&
zgOa<1z3(&08~hv*ZZ}z}le`<UztBI4--b)p+--%^TM%<5Ge=n>^v*{|zcD}j6J@`k
zELS=k;8w@S2NK;>$%#Owa6TEKb2w;$D!7hVZ#`XBPo`-uYLZm2sH%_le2nG;hwxx3
z!#fMr9&d9bRK1wu$aJXzoBfE(an4Lu0wjg1IbP>xM5ElYxm$XHHSqCcoS0@cBsK`;
z2K>DRXRbl7D=A-17ireZ85S3Ux_N;QVZF(7qLbZ<l6iOO`QVTiSL$<~UNuB%#)%?j
zBqU#qHQmq>7oef26Q<AW$ZRJ)bF5f?zk((U3~@bU`}FDT7UO)zX{5_y1QYw>pDjXg
z$^GcQvIyMHuYw0$J`roBF1aiNQP$&wOOWDVC1oiwamWgv^Lnwp{fq+h?#|t1k*2dG
z?3^9AX#UMF`cPhUNX+P%;7qbdZ!-bN>zSBc93aaBp=o+Iz@5J6VwH$5BcZ-?1IQDr
zKMLk6Y>MZnpXO_2F7GQA&ml8m=Olb!tjQ!Zh!SKtX?v{}BWtT${zD*ZN?c-QmUBrW
z5;Qg&sb(>%;<DX>h3l7ebt-YTNCEfZ97~2<`gZe6XJRD<<-)j;k~VhcO16loqsSba
zogs_c8R7%HBat4EesJNmq%cPyhYlMpYi??5{p?yyxmb6f)SG<KH^_(|C(dk=^+$>h
zG(WcqU5IwEvgBrE?Z7)98LlFV#JKta`_#aPjc)emT!5xpU7pKDbLmN0u76#7oKV7b
zTp~%W!|bBYiz}66sb7+o`jdUNK6&l4Ji&m>FCF_YedgUaSOXFXP+VqT0t{)fMPvPX
z^l;Pji<fbei*XXwB&13YJ4@oiNH_O#>v-BGiIByH$t=)YGSRaRy<;r#-oI0<TZ)Wn
z7u%zKAMrk7@nq|#tOO+o#-%03jmj1mCuYs>=}3`9N9^h7R=;ltiE8?G?ik&-bF8dk
zbm$OpZU8B9N!&}To7R&Jh<*vr$yhYXHz#LE=+xe?>pG{@Ho8xYU%ZwW*@Y~bLHWs&
zz8kU{bht3h*_VkK;$eJWs*3v<K=R0%C%(8(N$ibGk3|dP#x+WmV0wfE^KM^=uT9qu
zLj>wwP3DNq6t}eLqcJyNWS*=VoH#aHh5(Y3q9tZbWYNd>;)qmTy!62xQt&>f>bx(a
z1!qEn6(THfDmlgHaU?JZrg_A~sz}wVilcPdf9*)Me9m@B_~y*J#J95GC9RV!II{dV
z+-tBCy4zXcV-NRPBAMXWmg$~f5q9R<<r!@)?V@@)CH9`xXTP20aLF54U-Bl<kAfU-
zD$d2KE+OpJeWZA1fK{bKw|;#(1v|FUn2R6N0xr~=?DM)hCzIX8st-PqH%2$sxJKww
zku#4j26OXVw-?UOB2ZsSoK)@BFr^FS_GQr*G7#~)dEBTZpK1~FD&`?;a==H8u4*@S
zB;6)SW9OCK-JlnPSsq<kaCveUKS}-};H^!dcT9BqxX#^sc9TR(T+D!&b~+tVt(WBm
zX^!?zwjZilzMFNAG@_MgS<Vej^Cydkb$X-AyRtD!=11n_`t`7tBXc_<4(W6RMY3X(
znd##@XBDBP!9dH;mt_W*>O?e7qPWaa-jz#=&n2$oe3a@IaxLPqupwOoyx^V53XY5N
z(vv27x8kFhaU&%<@O|L}Bi%P4O&{U+8_BAiTtgIFLV_eeNmXa>6J8?BObvBA#LD<{
zi_Oji+Y-7Ydxy)wafZl`As1W9cvs8mCXXR5+%Ks(f9-EUB8qXN-QKeaZu>^E#H?|d
zqf$odQd^wgdhRp*GA;C>zr?`_BV9h(J25|)orMa9;6AzLvS4nbx`wyX4RNDFckcvk
zyc;rpsn)I8I1vTMsT+{GY^*`2>o7PwEOv-dw}}^4lKl)y*QhSGJ9O)=I$nevx_l;^
z7o1o__rr+mO%jnMVu7t&Y=6H;DP%X;MJwQvmT0qI>~T8kERxf!xU4CnFJhCusC;VI
z4Y{C=kwNQM$g%TStgheBmKJwY`#!PqO^;Z&2pZj|t2i++Z8GNkd`65v2CR=iWYoI!
zL1-G-nV8Jb9(Sn`*`YBiB~>;>_@#}kqz1u-3|++V@wuPxjU0guCw{57U2ONBvbCUF
z^uXADlI+l1*ZnmRl#?Hp>3rwQXmguw#J>6*u*;6SxsEykw|b({>?PU%9{sxKSjZFw
z4(>>B`|tcZi4N4^F4~YBfLmVH6h@r)d43IE7CO|nn_$yq$4i>uy<leDz7Z{RlQYc|
zie>eokHiO(7|BSUAYJA5t-ulYac(azxM1VwBtB{6qqvO3acLuL$ANZ+B;wshKgnPv
zy9t3_OM<0K?0&y)-2ythab8G5KiRyOWHUB5)$*$iwz(;gmYE^z#u6{$nHjm;Q3;7M
z!<U8zcM@S&CDMSpuH{=Bx)3QUCi^Qg5+w8&fo98^q}$#wTw~SXnx}J_CQ?LOJ!AXF
z^!BlhTeEj6EuAe<!^L$&vrLG?|Mq)$6mLh|b`uv9J7*({Y9l2^cFQup-+d_5LpFp(
zck}rMEQ?}?g}6D9oC{%K7=zKf?(ozNS|Q<XO6E-+qunB=S}1m8E*f_`a6_zS@0bqJ
z{oI1M3nncyAQ>3R^2%nfU<@Y8Bmx<kGF(hJ(i^gmOLisc!)Go+cJolNM7HJDdvF;u
zG9SpfTkxNL%CN4>^<8{yFQ>H<YvE#8n*{rfPCi<>G-Qzzo$_fSCunQ2d)Mt37oT8m
zP$Msx2h3JNHV!x!5o%+7(nRgKkMq$F9oqNo+%B$z>}&4Xw|5`i&*jIYGcls9aeX`W
z>=Vf0Z+yzfrA|`ECdg_}aNgx6Y1l3!Hdz8wS*?;4EuXTHC__w?Yy<GmBgh73v5jtt
zKz1XUl^31<50?;~Ue|BvRnblTWO63HTg;J$e_lzP%W{pEq?xQ=xh)AY%W*5uuvp%F
zXZgDcHJ`RsFHRx~nQfUFm070S#%VK6SD)OT{O9A(99z!ana)+XU}{uSs*CS+e&ANu
ztv+$}(tR?oaamNCFYwvP;HFMl)gC*}X{&SPvg2IV3jEUx?xq6ilY)L)Y+^=&%M(Zh
zBGXn~k{jdO6pX2|(`CH4JcGC~x6eqXmZI!F1VfU-TR-%ei^wD_aH|0!p2c^wZ@(Mb
z(sF;gzmDjJZc_5f;a5w1tKIF(gNPF3`h>f`25dQnD<Ou#og`7KxL-HbkO{)bl#DdV
zzR7l8x8cXl9eo%SR4)mKy~DpahTP0Rr6H2HX9i^sA2JRl=j!)1Kxh4JxPUqsNvF!7
zlbh@z7TTFSOUeC>Qku1M=QnXelU;$q<q+%&^!MXe$T6)CPNm#&14|G1bdB4|;F^Lw
zvY(~(>D#$o*MV_;J9m$fK%kE=FXHu5K|GS3?$;RgNq|JPxjo`!M`UQ8$>l~Rm~~lt
zRW8W{c<UeBsp0mz`#oQ}){}D)UcwPK&BqQ!@9({9knL$cT_xQ=PBznfS-X9FzQiRS
z*Uhv<Lj9wA_Yl2z>rQTvxD}MiPJDiod+4f!-@fD`F!|CiTX|K}t-%`Q1XI0%5g9UP
zkQ|XqjmRnT>>{317IP<K(p3?h(vOh|xHuDMFJ-k{vZJnYO^#x=GEyEhmmLIRLy~-c
z*ecVBz4MfAu*hx-H9QxS(GtQST`XIDBt`9qgtK?DBRoSAif&RMr@Pszn?{JTU9ttm
zj~hKND@k|Q`UOF3a`9ETjBfvEdFnt^0y_ZZ2EDDu{v@oN2o3I%_hF)CSbgqF5*lvZ
z%;l1Nm@1Y>4Vx3VOUktC9_<5031j_QRJN@DI#K#4UX6j9&V}wy>?pfgun;H9axS>G
zoSfX4#93nBa|Br-4_W!aiCl}HRQWV%hFD9#w@jl+3muSi_QPJL$GX#89QwuZ)oiX9
z7q?#LGH|*OCezo@yhV0e+GM|L-S6O#X_%yuC4He!uvn(6kL<mcZSrmu1ZTjOKEe8~
zZLPD%j{G2%OX(vrPTzCPXj~>CBg-f4;#^jM5>Z%KbWhOuz6r>-B*X+5_!m<&mwPD4
z?e}m2mG1I#Jt89?>g`h6lGT(klyqraj8WRByL(muJFMMI$a3*+UKyNCUEB(E$!M4O
zI!>M?kY}Y_n$hJOL~;7{kfkNbn8)?#(8soIxvzbYEZ=*p66%-TSabe3W1_}@>Q!8A
z&i?yxBzE8LDUxh49+sNuc1vZXIfLr#yXm~`)0JTG|Jt)+aU!|Sz52<cUG4oeu|cDd
zSk^nTE02%)bdCg<_QM5N9v_ogw%@q=UwnKlRN2IM`^}II8vc7eRrWtI`4fjDPpSGu
zxvV~kRSUXcA5Z_gJ*f6S`y85|aa?)gOlQ^q$DTO5@`&00_9JGpt57D<{oSU*D^Ht+
zOf6&=(Uqsot~_ma<!Q73=BLeEnnix)!7uUIuG1?|orOGe|1bO0najppd9qAaimyCb
zcJaxwV2<p6`N=WK+i4Ex;%0fbXUHw5NdDIUT#U?QbL^VE@?2Q(xv;qOQL<0xf9&Zn
zna(1Gt2+v?2;<i*oWl6ckXN1-yYjTym8ZpIFV&T&#jZRprVE?;2s&1u^fv(h4?Qg=
zYdp5A!!P+=d35Z`qhnaOwVjYx9vze4Li*Q!bWGMh<>xQ_#;BZo#{QpufGpjMBy&n|
z<NANclVtKMLXviMxe%4L?6$e`P}x8EP?<fKW7~<YJU%85PydTQKIZqryFH6n9vZvy
z(3txT$^VBR8VlV$A-~fhJG(L)G?rb^|D{LC#98|%maaTK<{zp5H+XvNfA3kb;AT~Q
zmiNE^(J@&?^FLTFKlXX$2{Ktk`DdRX3)ukw&p$jS8{yp(nN#eSIj%fKcI7ED{}_RP
ze&9cUicFs^{%?8`>|gb{uaLdMmwf~*<RKCLYXtw?!&<V%#QhBj{4kOI#f5+SXSSRH
z`geLJ>&in||AG%;$u`<6&sX{1)4B3|mHRoaE6-QSlh;?Cue$Pl)&JD<RkA1N;;-5K
zm!Gf-bZpnId3eqCNyAeT()9;-BbwII4}t&q%aZaZA1}x&S0LA<VukV-SSWwC(7hZF
zeF6WMd1xK{S^mN#BYzx*KVi&YhPl7mdYM<4`-6U$d4;*Z$a$Gp82vG2D-sqcXdiRD
zhXo4dIJSeZKw<ls<2@`;B*(EGgawM)#~klrfnqt1?I0{r+&<=b4-1sYacl=+m-LQ)
z6BfAEisX0?3zW`rYzJWh`5W<<d4&baUWU5A5L)hUxchU|IbW{F^8|jpkdw-vq!*AY
zM4s|z=lrXd=NIJ}r8p4jd13eG>HNzi)fwDcS{~oWdmj8NrvdlJwcTr!{C~OjOz_`c
zs#o_4&n5cM+J7Gi_QV>0e5t<eLiw5~UkdNv`}aJTXjVZHkgMOySx;B@LnYrO<vXA}
zstukuQh4zYy^6xE*Ymt+aKzXhW(hAQ{jz&-#8+0Ad!Gm1A+=$2D1SzH3F&#0s2uv&
z8Tq%k=(+v5a;yJV;jX;Bto(ZU;I6xL|NSZw6xa>kq3Mc0?Hu?1s{HTjvGeWy8~Na_
zYcIR*W&Wb!<#Wb4wqS%7aT6|i0yGqbJf~-SvUC0(iTkw}|98_b{#uOvfPqwW$uGs^
z`0j7c`@3J6v2%mp)A{x*HJ7_?j_>~FykNcm@vq;6{_w6WcV~>a?49S}c6EOR`e_cT
z!ivgG<ftOY&1)6GqNWM@?)3DA5M=t{xYJb|&t~ZzuN_j}EVPxk@o7aIuVV-D&h^{)
z53Rp?NO`V5<SYNtd8Qg6(CT;m#t?2F9gnaBc@HgbZE;_l#d75@j-Ei!&N%LDP!$9O
zW@n8z!^O?R7{3}9G*9Bj>BZ3>2spd$Uaq{=>5l8Uf8=HLgjLn!A^H~Ne}Io7{#`=_
zX~Z9Poh+}L^(|P>&2SL662HzhKwk6pEm(dLI&cZ`_0ECG>nVK;mVcp<f>p%dtDxXD
z;)BtiH;5;~RqrR>JzT*T#J5B6r-}bsSHZ8u=TuP;27_wye*yhFj(8Rv?=8gt4A**Q
z5<gr~`2ynS(Jv1XuK*=|n)pijGqmotj`#+&|4riCuh#M(5sw5vM7()5Eq{{ugShVR
z#GU_guk*zJ0l5`$hCyB?&oU@il6X5PemL<D5dhps{6P$$ro_KM`S!#g!Qksj{CSMi
zA;jy#*o-HB0`*KMJ`CgHe&SaCapJ2GfUP0^74B;z@twHtcH%`Et9(Bv{tH6$Q^c*F
z--+*nepbMBtiRTP*C8GNZ%O=7jMFZ}UqFaFfcQe#hmpk3VSHr~Ukdwn8}Xs?N7mhI
zA@Mt4mzEP>1^c<0_+Q`~h<DQJ1N(^Yfc_jO9tnN^k$6G0=K}F}YU>4xpgxoTO!q-v
z<%w6RqWnhU%P_865dW&GmhVFR#T%3lB>o=sXB6?-;1h{Y!-Qit@okX91H{8HPFE2B
z0`;sTejfIG3-OnVX!}1R9t$}fBmN-9^^e3GS}+1TXY#KSq4gIf{wBt0MdFLl{u_ut
zj`B^2zXd&SM|>56sd(b=VoI4td<gu=6ykNECv%9WVBD=Hej5U!t;{j5cN4!Fe(E2@
z*C3esiTLf%^S_91vhjfHoBY3oT`fvH5%MWVyfON>2JzCUry=o3=wU4J!r|KQgNeU{
z_Gb_uj(Fx4;`wpixx_2N4=y5JyMbQ!3F4*E&gY0v#dS9je-i!mF7X4^wf?=tm*Bp>
zApRQq=`Z3#pwGo&cdfrVz^_ywUKT;_4a6&>-<uL&1pSO5o*(gBZ{p9m2FNRpco&S9
zRN||vY5B>-Q_(N8iT_n!%il+Q2>jZk#1FwwJx9Dg+OvW9YK+qlh}Xq^eN4PR<nt-<
zv`X5}Bg8jD55FRQ5dHoQ@gvZmABkhQ2hI>rN8FwlcF6SMd&uV+;`I=>R3bhoT-#rl
zxWyp@h~JFyl0>{@F|8+qcm>$!>BM(c)$;R*AAp@%N<3GjmVb))$B2twBK|e>=QZMW
zYid335uaZ}`2pg&(O+K?zY6>(;`uOcFA%plyAb@3_16m+UuB3Fg+HxM{2cnRA#s~b
zM-fkl9qUfK0Q|)u;@LG-4#~uqAa1dFn6-apxR#$m<*Pyt^NDXjzduC$Ya}?HA$|k&
z>Sf|Tq5Kx&ol$-_@uL{OpA-KM{dAJ}O7P!^_kw)FoB-rya)^L@iV;7E`z=qrSV=v<
zHt`M^*G-6DgE+7~@jcM<Uc^6yy&XpUJNSh$#BW2KJc)Q-_`BPQuYi5Km-vBNdS8za
zp9}l^I&m9!JBW9I-tH%E^O57kn?nAliSNEq+w&*!x6r=@G0xoA?vmv(E=m)(aaWc2
z4%Abh_z3h%YvMmapSlrGhu#h#UIg+?BEAoPEra-3*u&|>ZT>co_+}MPU@7t8@M}*I
z&#bN|tRp@T<u?=m67tza-0tf*@kq$+H1TDKbN(d$6nG`*qxIvRn7`B^z76teLHsq8
z??iky<P-Nde8S)GyZ?sUxUqIx{U1~L1<=<c#BYOsenb30`2F9B=ZAa>!+zLxZ$<o5
zmbl5e262;fBjRgOe>Cw8-~));bu)<Db*B@z>&_!?*Ii27uDgS{)xV#()&CvwMCij=
z;?`dkFb_6)8gEQI26k*9@sBZHMiRGrrV(G3PZe=4bI5ryal5ZI#7+JiiJN@36SsQy
z5jXjNLEPm32XU)EAN1GcX7$%1J_q@_#>79bta9j1{2=;iAo1KcYWeZRpRcWa8u4$@
z?{^ZnakPl|O7zPU#E)X0wU&5w*zMPemqL8IllYQc+Rjgi_lJDGB>t)sth|0CJ|5To
zi+FLw8`r`ASihueHGyixt-l%&H+^VB{5aa*jra?we<1Oy=&zB)XCn^DByRe4EAe#^
zdVw{>??ZoWByQtkJ8_FQ_7Ojc`Pdi4$3p%;5PuPI`+4H$&>vSJE;ISBK>t=F4zUFq
z5V!kkLp-yNp3$9nYw$aWN5g+SK>QTO*W<)zAr60@_%Jkd6Y*N%`o&J-cHRBN>p{-P
zi8n<&p9}WY<YwgyGl$(MLwqCZsYbj!<X@k-ZDDCeyfW-vXW|c{-}@1tTV3UlKs*=x
zcpC98XwPKgy`fLH6JG<l-Anu#jQ3ZG7r=OVoA~?Chi{0FL!Rmk@j;kJTi)IJ<r%cI
z80HzqH-VQTeh}mIdg9+g&XtL`gnrZ{UK6|y@#=`H8x#K?_Z3Y%tiJYFcjEJIP(G0O
z2J~+d@n@lj<C()wPX8M|pZHt2ua}5FiE;fA@q@54-xGhdrndha@jny?ieR2<{nZWS
zt|xBuqe$ZWP`*9!J{T9hh;M;@4kLaH_cez2I^>ro5^oPZoJG6==Ee6C4@dpWi5JFv
zZ6k5p;P5W-Gw@S;iLVG(f&N6i3F3smh&RXhEqJY-XY#i^LMh_k!M|4~{sZhr9pcv_
zFVUR%P0+&*#8)=Zc1$AP75Don@feKL=ZOD|dB<zSN2C62#D9ey_=xy7uvdqOkAmDz
z5&sM0<#*z5K|Xom$4t&YLmw&<Ux4{+P39_|Kz-uP(az??kHF5fBfcHuu^aK?(A$2*
z54i@*YZ&p_u*=EBw^h>e<B0F8r+hN;n;R;hNqjx}YXR{_u;&jEUxf0{5Z{P)zD#@>
z;*BlD=OaGfO&mDzIq~mszbA=rLB9PQ@eg3Ha^ZW^hk>x?*AZWWaa5J~J(!o(BW~-;
zEs3{6J)MXr!e8_y-U;R7iC4w_rV<|yJ2{*92hj8Ti1);JvHb-mhh6B$=cs&b_{R;z
zt6;pmOS~J}xtI9skpD5_xe$kZPy86<bB=fm*qH(t-`4&b(6?)eKL$OhOnhct)&IK0
zH==w?;xEDebS9n-dw3J^^SIv;#2<lu7)N{!<UEadUC47T@iXYJ#l*jd-LQFv$)^P5
z_5zjfg81PL;``wr-y>cf<M#mZ<2e3`IK&h9iTI30D*p?_o99wq2m{~RUmyBbhInbj
zd)0~OM>~^=kHmdt5-$WhFrD}((5t(NTi#<EahpdUBX0BPABfvL_fO()!_Hid@ojRb
zjQ%Q1{5Oo3>cmguxB>A|h)-G*e-U!-M0`5rlSsS^>`XTC1L4|_Gl_qWIPeML`x|Td
z7m5FZaj}*7RLJ2t@w|waek1-Q#$z7L!%Uv7pr9p)N5k&aCvNq$CSDBk?@GKP^4bH4
z-;U!X;#(W495RTXf*wvMULF2@9`OvsCrgR<fE{~^cwBA0?mFTJp_lIvKM%X~KJk0d
zUweqxfL}X6yb1dKF!73L&zHofqx?6-tHX~JM*my?=B}alRfhOB=ud6pTVa19iBCuU
zZHYe)yV`^J3fQ;7#BKjy3h_N?=PkrPhaTTWd=vWj5#qaGH&zkPgZOhj@hBBfU@P%0
znE&o3-Y8s8I7s{&^ven2wO}`XCT{!2E)f3%{dzU*g!N-j*rn3MOF-YM5Puf)m%7A%
zhyQIv{2=^(f8t$XC#Mh}4}G3Z{1)`%eZ+0Q(4)j{zt9@u??7%_iLZeCKO%k_@;^j;
za31Zilf>IYp67{=hum`G-Q?c^ezO4aF0emEh;PiN*DXo>4fJ<e;)T$U;lwjxhno<$
z_IDwE0eU`=_zuJw$;9JfpR<WiLHlPCF9$zz5Al02k9(B(0Pr=$8{Vk$*+l#{=+#c*
zD~fCR1H=!3pCCR5@!_w;2SEN|STD8ywRPp<#LFUoQIYr%_=O1KBXHb;_$|=G0mPf4
zox_OthkZ^Y{w>OnCSDeLJdXGau-g-f@2;)#oJIV1)blv;d9V+*f6C-`9^-uzm9GIi
zvx9gq=+A!Q3t`Vs5igGT>UZLH-Mry?AJ(3xup1?a+kI6eek<aN8;K8q-ZUfr8RXfK
zcw6XsU*h>-KNE-#wsA*%2<*&U;_>iD4-!vCJx>td4gdQ*@d>a48;L&yxxGug1N8i3
z;(6egj}jkPH{f4kh>xsamZBev5pM)NEKj@->_Bbe_IyE8;zi;2+Yw)jdU_JC2R}QM
zcmnL_XyQM@&QB!X5%JF~;zv{rfqRIbLcc60z8-P!v&2_GA6_AT26k^Nant7yiJLwj
zB5wNp3-Pzm@3|1yTR$ekE)^mE7W%y$ar65%iJQM~OuQT9)0X%TwN#+7#M5C<h7iw<
zdCh3zR{uoeriZhLTYhyp@jKzKR}s$#Ilf9f!3j`a+lcpueb__180_j1;w_<{-x42%
z_~#GegP<q*pr_W4^>S-_t|49)=if*?7JAr&`1t%<&tT$<5nqiW-Wv5xAU+HA%q6}Q
za(j%pJ%6-@xb64bNZj@}>>=J6e&;*l<6+PLByQ{Cg<)4ro_E8p+C0yA73gO}Dqj%y
z+n2cQBTpc1_BxyR5!8Pt@htTFBH|tMXn#FH{CecK&0bpjtzX}z@(;is?j`;t_%Y&-
z!hfG39uB*a2lBS-Hi!Q$OZ@F{ZGR2oM=|ai5#NRK!-yBFt@Vr{ULEb3O#ETQ2`>=0
z=i{~$w|$v=iLZzLA0<8ocJEu_{qkr#{~&Jp{XFp7CO3;SYY-n_SnG)-Zt-w5@jPfx
zFXHWB_u`1(5C4@$+{Wo`#IJ&VSV(*z<~z%Yf1XR*znXY{#6LD)G&xkn{9-SaUxxAg
z1@Q{#m(#@W$g9`=i}+5&!-Zg{?YajMpO+>60qUtqyd>mc>$+CYs~Eq%sr+AvKjVq7
zKs=UCd=KiMN<0DjFqil+jL#*+U#+Ebc#8OZ*o~Kn&%-=o3-QL#lMjg>4cGb)6VFEf
zeoOp%=*d~)r%+FUnp&U9vs7(8E=4@5sPd}B55f*KAbuQiV-)cv@FP8lFGM{<i2sUy
z98LU3==mJtYs0jii-<o0yZ0pVPoQrv5x3`gwh}jgu!neEwC5P{>ClJM#EYPREe~Px
zpNzP|_D37H{T1a=pK-GfHxeI+>$M<08v4+Mc>jDVw}HfO#CRD++~!jgiPwjoyhD5!
z;^c3MR|?nb{z1Gi;?jK3N4wtv@GsX9p9s5Ofp{B?i>kzJ{kt~te_%Y;BYrRZY$Wjw
zsJ}Py7|3%N@ig4;XyRv~4-<*cfj-P4{uJc=IPpIr2YYU^porIrY(4aU1C{T9`Zp5~
zgFf4H(pFC~+}Hb5{vnLtJ;b*l-abJ5A^7XV#M5)DK72`hE%fIU@mR!5r-`?P{rQb}
zqE;U`PrMuCpZf+aP*C2S+)@hY@m0i2BR^J-cm?>iO2pIAo*KlvKyLQ@kX`rwYxKGe
zsl3^dX2jRRzPBO%2I7zy;-5m!U5Wny``L^5wUAGL;<I6Ah7#Y2;}OK~M|_Y%{3DF7
zvBZBsJF|&jfShk89tXQIgLrEvSb5DMZu>UwCO!%JaUbzI(Ep{x?Rk$!h>u18K1qBh
z+OvxILG;%P#3K=htS8<F{`7U?k7L|zC7ueqv4i-RkpFJtwtsXV@y%$@LE@D#PLC0v
zj`_~l#O?WzbHw9uU%3#U+PLV1>*gnJ@n~V<b&yZHhWIt8zYOtLFiyjXZw0SId<@#%
zlK55V->$^hLH`F5KZWt0%=~KA+ic>!6bEJ!uLS*hocR5icfU;B;?#}Ax5J*iMLfBX
zUie+&DX<T_h!02n|2c8XGoK><JjU-C;*-#xeCRjR2a{Vh;xEH5v?YEHey1mKd%k5D
z@kh|_(}*WwTw6Zg+A|jNUqt2mLQj?vACLAtPJ9RAp_RmoBVK)#_;bazU)~{Z`xW*Q
z?+?5B1@S2Jr^J(R-M@$rKzvvT<ILnx1#w7O;wuq{)FfUT^XN$8-$D=C6Sv>D=}p}B
z^TZRk_$r;a#nsb@TRwIk@mA=^hlme@{y$565bpOi;@R-CCyB=*{yf9n^dEX>a?Xu%
z*Aj1mxTPxbWAF<NiGPN8rY-R_<N<mSZvcN0PrNGXH@|1?ECaiD3zgps`*1h$+t8k6
z#1})aRuPXuJg|ZIpP29LAl?M_^8j(P&nJkRp8Q692jYRe@Nag%*6;DeSGu55UL%QL
zlV5on@i5%)&BV<P+(|qGdbpgp?cZ8WJQn@(9`Qe+hecq|?7mjRAGIOg3VPm+cqQoV
zK;o9~8cBRxRh2^)@vAXjW)OeeHB4Ufi7%<Gd>Qe6(359~&w@SNM*Lp%i#=y=au@`E
zeT2&IfuH@BczevJ&Jte-ITt{?tp3`tvo(mXKz!Ah_+xszfp)|X!G8@PZuN{Oeh~V$
zfOreE^C9AMit2@*CcYDX;Z5Qr(VmZp7ehUt5I+a`A0qx?F}?0_;$`8#Y<^(!+<<w?
z)fgYfA1$KwlqNn2dRT>cH+Q1E>Jsl#NO=q5hu|+d5}$RImLE;r)}JO2xBS8?;$tgo
zJ+Bh~vbgeX#BKd<5AibaBS(lY#(4jh_-F9fe-O8J=EL_U=WlCkd#)iq1pO6G{9ClA
z5%HfP&uHSqwE92~;<kU_cH*;8|2@PXgkC*Nd@jcCO5%6JKfX--HTcK3h=;+>en31D
z`eSl6xvfC_bCSxNKl+_`l=&n0;b1-CDxi|YAHle;M7%rfKm_sU;jfz!xBZ1Zh`$cG
z4I*y&)^Ws_<9??RABXXK7x4`iKNDXJzrTif6v}TR{tW!fPU0(}ZwH8f3A^zN@qVyx
z_IpJp|2~N4i$rQa82=dZxt{pT(34uko1*=Z#1}(8?TF7Ptk>&Bygu4Lnz-rJMB<+#
zo}5KI1ODh9;_qQxEGK>r_q&RCS?K4h!~@XJ_lf6&-T0LF@32=Vh@ZYj<?t(Un}_B`
zKxqA9>x@N-Z-;(fPu%7sZHd2!anz6a+vvx1;wJx_iJKk1gZR~`e;M%>xZhWZZ-$@U
zO5FBud`SFS*s;UJZ%2Ic4RNdg4Dqj_pLv_+)c?B?CzK!_jqzBK_%)^V{2Phi13%b|
z_z2X~fp|K`V;|xRs%rfS#Al%XvBb@<O(SmWs*8z#iTT5;#AjiAy+hodclv|)o#^+x
z&2q}~eaNQ_@kQZUt}5{+Xit6O{c*poiNApH+m(1RjH>~}AIE(q5l@Dk?<QUz_NrL(
zocEOizgCO5t?x$?w|d$Uw{h2#xa|`gO8g$Plf*6Fm`L27mzzbr*mZh8_YgNdTuyv3
z?A{vUZ(=_6265Y$`$&tNa<ktze4BU%;*I^pAFi$Ee@?tqUgcj9FA4daByQ`DzY)LR
z8CZFRwbXaBw|8JX79(C1_O?9npThP0+Qf&0HzB^Qj+W0RJ_mBXi+ExQEx&}g+4(1l
zn|)qKyddK6&BU#q4~YK&zxEmNerW#*;`?CFe<6Mk{7dy#dLJfddp@%vacfT$aob<o
zow)hILBt1QTqhIH1v_&q@h9P5?k1kAjJEq>;tycn^c?ZWFb{d1cr)np2gLV7udZsH
zQ$E+=x}}JlU9Cdg{ANAkwtue`aq~xAh?{@uPu%>-4&wbWj`kCO5dQ8s@oA8Mvo<;J
z_bl|h1M%&cclRa!3hY=saqGu4;<upu&BRB;j?E!%`g1>Vv#XC0k3s%w4e_rK2W}+(
zBl>qY@sm|lE}s*(xaA~qlmBnTZ$|xLQ90#Y9r{^}cx&+T#FOFQYZGsc`QB>c3$73N
z*9PKm!>+zd{2kQ4m-yY`0slHp{1MohdeQp5*^?Qt|E-8Gt*GU?5H~y1pLhX`$34W4
zW4wP!{430lP7}Z88olm$;?1Fl1={9pe-Fe<C5eB4@e)qFV_7{vg1E))eTm!e-p(N2
z5b~K%+~o5z@iGncx?70bbDq12TYDng<-FgskaIiYmjCHVyid5EpF;c~;`y1xk0E}0
zmUtn=4@ZdK2|0X2d<ycUzY{Nwe$UfB=Y7?Io)jluse+cPK>T18<u?#-0DWjm{DaC`
zK8AP##$9jXvtfVYh)=Dg^`sJCfPR@w{21)yY~r<`=l2o67WF?$d@cIrIpVv+v^^V$
z*UY1QJMlBH8($ND4D-QUF?ycahqz*TT!gsU=bFTSfSrjZ{vhNZOT1=zt$z^lGO&}$
z#LbUq5jVd%gSh$4`NVBM+(X0<;eMYXZgwELLr(crE~m%ciO0jv3?hC2dX+|eHS{o(
zcr3=zWa9SwYtxB0%d72~P5dK_izkSiKCB~N4dZ$X@z@)*{tt;;9Ces@OZd}oiSL8l
z&JsUVUF)yiQQu7u*F%3A6HkF(=uiAL__ZYPTvDBz$|9@^q*M71F<zDuKLvewn(Bf1
z46LQ{gJ9p@A)bKy`Z%PX+Ioxr-_NOhame{pNO{-(QaI;lDt{a1DOYvU0w%Xi^kXS-
zCkHge7pzF-e?+4qLdqAwHQiezmEQ)t(T#Ye{Cd*Bkb2;f{TIWj{41CrjV2xoea;|0
z1@f65Qa?<guYXBMd1sPdL;o%h;U$Fk>f(zBo*-`dh^L9agn9d_5bi`@H=ow?VhDHj
zHyxz>F!3gXm7gNsJw^Es!~<=V|4DpPALY3_>$~;)>?l1hMm!JvaarPD;kYL8;-j^m
z2;$-Wl(!(h4DE>`es6azKY;kWo0KOK59_HsgZPvr<r9f-8mRns;=_h3|B3h)kY@n>
zZ*ptdU(4quULNf%PJA@#DNj6pnATH^csb1T8x#Kl?T;oN*;ec6LwrTF@;Ks?pjTsv
z7s7QX6aTG=)^iK-2O+n)#0Q}KBI4W8FOL)d8v441_|Z7M?gruk^wT@Ue{H7a_Yfb@
zLiu6h<A*B$nfOAC-&|ew`-1Z3#_9Wzb1C9hzAEugd+7P~h~E&eycO|qT(=AH^wC;=
z81d1F&r*q7J(GzShJG$5{x#(MEb+Qgdfiuuw@FmKkN9^O?_Uw`2mUkhT^R4Vx@mnT
z=Wl!IaZ%!@Q<Rq{o)V?}2I7B=Qr?XCX5@)F5`P7H)sOf|*yj<%TVfoIC!Q6l*PTZ^
z1A6!%@r@W4&k#2|`wH<w30nU);y*?y-%ES|?8b581)<MB5wC*#%7y;1et8zxEk-;V
zdRUS8dH9h!#9xKoZbiJ>NNs;N;^kl;1`{t2JsC~B3F@CrympM%e+Ti`VJDXm{~Y$=
z8RFxIXg%wRe*$~>4)MJ4T7EzAkI>F9i06iX{DJtJ2u#ltPelJ-1$$%twFBd&4spvP
z#}HqOdV3M?4nH-Dc!3UjUs=T8!~Nb$yaepqJmS5fC-)FPGeYZsnD|8W%Sz(6L!VzJ
z-UIsc5%F%YhlhxtMf-mtzP_)vClIUeCg*Hiw-E7R@PpS8pPQ`bS0i2*?W{}uBV4y7
z@sH78or&jxd~PCs826P({08{_TZumozi=P%+nZ|pA0^%w^Nr_-Pl8|GK>Ro8=exw`
z!N2S!UJB#%81dVCYkR&YehPN%9Pw4?mjW1n){n!`FV_-Z3_DYqcq_EOF7Z^frzP=Y
z7^ktsACA)Y_anX@^$#Zgcz-RQK)epdQ8MvLu-j?G3q!v%iT8#7nnL_}*rhqdYvFz$
zAii+4w(|+%OEK<VAa3!)XT%SpUrrEDhyD45_&^-zLcdx64uxJ7AwFV^wzC}Z5@=^F
z;)S4Bk;FTpoh^uuhyCnM{6mb>LBu=7YkQK3$AV`OpM>!{gLoXq>3rgmh&LW0J`LmR
z8RA1BpO=YSK5h%~*|1}~i4TYW{hauVkk3it3!%5a5&s(f5(d4q{#^t)6eE5H@mqP~
zrC>j66TcmL)r5FB%C{$O`LbTbqoDu8h!1X~{X2$uY4AzJ?}L2I&e{Dofqd?z@@1f(
zj}UL&MX$S>_#BMu*NEQ<d-4wP2GH}5i5Ed!bd-2r=)-r!*LK$SoFyI$f0rNavimK8
z_LL-E0pp?)@l&I;{x-yI+;t^x`KAHHZ61+Cye;IPL3}FW!0E*6qJQTRpNMg>l(>z%
zr-(N}J?n^X9jW)bnRtAZ@?FHYL(e}W-ZxImpCDcg$G;G7hVhsS{bv1j0Div+@e7e!
ze>vid;n!*se*}8fnD|>L-<Ei9$fqZ9yRRhTiy*fQ;s;?rrxX7Q{0ZW3BhFY$JP+ja
zI`Lmnekbu4A)jM^!_WK;FN%4#$=~X!{x{s_<yQVr=t%;V{~Y?6MtmRa@?_$+4{rhS
zml6LgBW`kDN!;Z83h^Hx|E<Jr|J-N9?Yh4Zx9jFY|Ck)?x<!cFb;}XA>vkn>^$#F!
z^^Ya~2=rkpaqGuN|Awz8J{0!$An^hNbljQ$wEMOCFHrd+t+ae0j58~5_f>|t-B&&0
zCjVB%t)4E#t)BkGP5z0*P5w6%xBBlOZuPGsZu7?V#EV03cN6c0yvIS}XW<uqCjM)@
z%JTy88i-e~M*o<cZ5&-kyd3(a8u6L%I}L~@z`wR3J_&JMH{zc((RL0bemmw1BZ*g!
z*7BLeEzY==cyIWR2Z=uzsr5Wf-1_S!;-(L85wF}->)A#8H0nP{yawd<HSvS6v%eBI
zeaj8Ku>ML$zM>xSyy&l1#BE%3A#U+Tf8yO*>wQ_i$F6%QO8IyyUjqGm3-NyN`*#uF
zgZ_P*_>GX;OT_KI-XfkK^Q_&(_dq@c5szE@pKq(}FHJli<Etw17m=^5Pkb)g*_!yM
zo3#FJ#O=BRh~J0)N+P}l^YNL)t^5MwNzj{zh?g6!?RlDbSIB=Iam$~+Nqh<9^B(cD
zsQ(k<uON;(PP`@j_z%P<p*`n_uZI5Q$2`OOu{iXzB=M6N@6CyC!no@|ygB0hG~%`|
zc?$7mLsg#hi0AI8{9fXvz?TrW{jbZ3cR>8Jg7^f~^DOb<;A@GeBCcLfJRbAbt;9zl
zF5OLh7W~UW;{QPZo*;e%diXQ(ld$u-aGv#}@nXb3#eGE*Z-(*Shj?S?$vEPNFrS@9
zyeZnVkoXkL6PFXW`O&My!@6j{ze9W-#>L0P!(iu+5+8~C`i}Vb@YjD3pA9|Chj)|b
zILN&u@t0r^!-?BI+E&C@HrM;=OuRed+M9?UhuzB}ZqH-fO5FBg&m(?UlwNlU@j4jS
zD~Ol3c@Xg~up^s@KY)JUPW&p&-_H_%6#Z2hdSr6m2zywUcuicl1@WE9dS4xh+rIWb
z#HXXb;)uW3O6y4_Zu@B_6aN8rbq?`K(6`5k|I}LRf0p=0_`7w)zlUAjM7&o^t!EqY
zBCt!lh{r;2KOx=~@!nD5wr}Pn@w5H)x<3(b4EuJD_(Al0UbM^lw={Th;`3o=$`k($
z{ac&($Cw{AAzlLd)1LSa=yNaPF_8Z-;+0`<#}Ge_{NXg>=V0Gv5?>7a@*wg3(C4R!
zf7n#z{37vpU^m_%o`HIH5?_k;?<YPD<-Z_40{#0v@zt=C1>&_`){niR=hqUS3;$A?
zcpdb6UE*`0KP`#RZXNKi&ctV+oi`Ex2J#<4d@SP9al}g@uAN4F9Qa(~ZJ=+9iSI@n
zyMlOuq=0|DK>Q@izd^h-?)N?7UqYV`5U<@O;9p-6FAn?g6Y(M#M;C~vL!P!D!TNUq
z`l}4$6yrl+H>wlw2)Q*Rz5;Pq6!G>^0srbwd>P`#LBxw={3a7`j`5pC{8)<CKZE$>
zCd%g%zaR2{i1<*9hi8aSLpx6r-`hs(|CM+b*nwQI>n2az|5uc_<vltQw|Vpk;x>;S
zPu%9Y(}{;Q({|oXd@A~D8Sxv?zt1qoyyGR}Z=n9o#KR$<oy1o`KK~$o82<Wq;-#Ut
zdGWo;vpnL8YQ!Tkk8VV~FUCa-@%@lP67eYHVI~p(81`p2@pTx#_Y)rrKeCRv)w7v+
z4D9&_#P5#Qe*BF1X7tMm;#Dv%ej#1}?au|fZt`3OJ642vb(~+0_zQ@mY7&1kUfbE2
zcq#aoPQ>fuetQuA5&oht@geYQgNQF4t=Ekwo`m+;{J`$_2+F5X`TN^yJqw6ieE%5n
z7}$-q#D7QJ_y+M^=*Rboe+zs58S!T5udj*QJo9(rix3CqMSt4;Mq*rDL%b)(OC{o)
z;NR;K{}sG7@e>$d-H6|ZaWshdcaXy<;+?vv{3j4!48Jgo_^X&t-AlYi3$5pQ;!DuZ
zmx;d+qvdUXpUJHo{Nr0xelX@!?-H-rPV3o4{95>lgT$j@$NnH*v4hrA5aYnwlN)hk
zDdOKjZz~i31opfR@jRoo{uab%!Jc;}UUHb0A4a@1?9UkD<6t+Y6EBSV?;^ed@zP@A
zt#REai9e72eUbQdjF&fww?}(ECjKP&QQ~&p?}<-<|2jw9`mq4?%lgZnTez0^b2cv~
z-U<3skN9THt6LGb{bOB-ACA}l8bJIfv_Fyft*{&8iN~P7ZXvz{<M&?TJK^`ACO#Va
zzn=I$)U%m*2lV^<#8VLm9w5E}^?yk`^Cp$UY39)X^Td-Op8^>7){m2+ZzYM>MLprf
zSHS+?NPI8qZ%TXy>|1-{ZQwV15kCyOpG7<Zd<O9;(1-cNm&2bvMBMhDuO!|B_U9$y
z-=m(lh>wAN*hTya^snU)OwPS9uD+)7QwM54{z|+8;{4o*cdVW+=$E3zOXIj4@e)y5
ze+}ZrIw@~N+{Se@aU0h?h}*bMB7PqIo<aPL7`^Uv;vL{8<`FkLu$1@@@Ka9_Uyb8+
z#2d%!bvF}V)>-)n#3!{^evr7;|21*b!(WM8{;eqb&HC{q^x=BqF_;(BBECCH+Y?Fr
z8Q8IQ#Jj?-_9T7_^m8cj?KmDy{Qi!5-HF7<V!X^E9*em5VdAgDe!fY3FXHX@iJxt)
z*Zq|EYSeRr_zBc=j(C39VOxhRDAksb|Lysdiii`9+kUVciJykvwj=&0;?H5kpNHQ`
zC*BhByoLBi*wrP(qdTh{RuG?x``t$TbMQUH&%$5)gLvUCTK`$%YtYX8srtRi=X7&D
zE=hbs2j!KBFNA$-O8i%h_ZZ@NF)n%&KZ1BTh4_>33)#dMAP%{Uco@dl65`iFZ=WPy
z80B{pxBT7b#8;s`r-;7{ds{gzr#$WXsb<8-KyPD+SBui~dlCN(c4sK@ztCT!iP!3`
z^<)#b`Nb0AClJ3qP2A=|FA`5gd$tgN0{#0T@n7Ko4imR=`ZMuV*oR!{IpsO0yB-%M
zUJmxEJn?MExe4*o7}qhxKY~8@AwCawDS`M|#8+d9pXsLUoJPC_<Zu`9HZ8UMQsNUK
zhnI<ei1E9Xcq;nwBjQI8j~yW%h5P!B_$R369PyQim#!L{vtRy-)8o>_zlPnYM*IW#
z_lCqDfPA8fSHw7tC4L<JJCt}A=*bx3wNTGw;zQ!K{d0&v2*2<E@p#y`Cx}---rxn|
z-9~8rZxX*2^?X2l1mu5^cs=O(8RGe12l9{8>zF;?i~B7_yfgHz8u7N!w?@Q|q2JpP
zx8I%YO?(^lA%S>0`ga`hHL%aqiQD@7eBx#w9wz?KFuniP#O=Aejl_3A4m*k4^DUne
zw|U>!#P5QhG#Q^${#W(X<4(j=aNXg=<Kf5065ok<bt>^4O|<?yh;M-%yPtRw_}NE^
z-vK>bO?(CNGp`Zv1^c<3xb@e5;xFQUza(z^2Yx1g6!syIkyD;|VXq1izYFo$b;J+B
z4p$}qS#Pbk8S(RwXAJQlp;v>6cZD2A5ub{2H-Y#F_>0?!PenYlkofPo?sDQaP<}P>
z(L?pV-XXpX_HYmJM!mKCVdCpx2Tl>sfPepu_yx2lcV^E1x(e5=M*K0%YdR6%1Uoa7
zxar9l;@3m|6N%@6oM#e$8uzt`_&aF-GU6{m-ySEv8{_2};t`0?*AV{$a(;<;D&)C=
z_+yaUN5rlDhl!8tq;fw^{AG-b--tg4zj>bca*UVUSvmW$9^_Mi_zCbL#B0KC)F!?j
zb|8}YYS_KD#0MeHj3vGa{$dF60OE})#9Iu}`<X}lTa43tiQkO+mk_t#WnNDFHr&?=
z;^EMfXNgzFd~7Z8_R!l`h(8Cvzlr!av3g%yh_8U1-%fm5FD<`|_`*o#dx@`xzy6H)
z`xr;Zi1&t`|4iKSuzwI=iS}F|z8mwbyxH0=i)XfAzI-+DNW>e(iT?z9Sekf+WUaS6
z@#|ohst{j-_^KB1Y{;iB@vX4ijfrnb(CfA!z8U%%P28TV=}5c|+S#3W9NN=|_&&rB
z1BtJW()Pp=?+yEtMEs3-EkB0%qtO5H#LvMFOeFpb`ga=frm#yhiMK$1-AQ~k;^YOy
z^CRAVfOu|<yN8IsgZS++;?4T${XR|nS=ig>h(|)s>xd7*IDL)y5!i>##CPGoJ|<og
z_w_09H&Ffv@f)E3UlHGedcGn4F8t|_#DBy%JwyC2@O%?gPBu=nq30!uPmI!XRfr#f
z{?{jdT^B9ihWG&JRd?dkBDMTr;xpi9rx4%LL(AVy{A<YVKH>#2u9p(uhxR-|d<Vwk
zQ^Xg-&%Q+5*5kGiuLk}6koX3)^DuFf+n>bk`LwbV^}emYX2S2(BwiQSjU@gV`n@0V
zQyAByi0_8{(}@p*o@5a(i}p+*UNm0YJ%jjClwU}E8}cN}iQ9AXtBEgypWQ(Gfqr`3
z?ZiL9b@vm$5A(h+i6;!!dVV5)xWDqiBz?DjnTz<R2=PZTPOm3!ziU*Rxa|jPO5EbB
z4#aI9*N?cZ*CZ0}h<?l@{s#2_HsT9#zxNP-4}R?};tTtzTs|azkLf@0MX+z*5nqnD
z<vj6d_=T${=ahdrT(>Oo#|LV;TEyq{Ro;}it)p}#-XC`FCgQox{}O*4@l_V_ebB3!
z#Gi!UyqEY5uzQaY9}%hTUrXHV^P9v?Pj(S+(Msz%MBMtl=@k9m^!zRO)7HdqM?Epb
zqjA4|h?^ZqAif8BIDz<NjMG`f??%5oLA)dS_aDT|!v2@OIp=*{1^ui_d<b}b;+79@
zO+0L{*4vGELNnz9i5Ej0HIn$@crBkr{AK9Lt;DxB)$$J${}ui6Eb%)KpRXrwzi0F|
z@tIAu{yoI)`TwKD55w+VAbte#RpF^xpXt>H(C2c*ufsU1N8IY^OuWnxtv8wYRM>}1
z;>X}OrxVW$zqy$BW8f=^k48Pu6CVaU_A+t%z1oe$$HISoLOg(Z({bXZaNQq>Zyls^
zI7fU#l=A%3^xfqDD#pb%#P`8pR3!cr@-1zNw-~7P_8`6_UinPoD+VZENc=qFfrp7t
zK|RkBe-3_RJ@LG_ueXUeAFbE@h`6=$F!2VE!#BiVK!2SfJ|6K^p<DDiCg*QZPZ{F&
zylQpgwhwA3@#|233h`f%SIH)RvbnZnCh@;um+m3{7~1&=@z&6{jl>sXTx=)46neXl
zxc&X7<HWB;{CS%AF|_|r;(LcdzSDEc*?vd<I^s`b-dCTv`N!78yR^}IyArqGH5))Y
zfN_^ZygBT12JwM6Y5miQN5fv-M|?2!?NQ=M(DOCKD|FHNHxak_%MRkUe!ZV~HthLv
z;ugnVb*o;-^!%zJdVD?cv=+)66F2#{C2r$4mU!pETF(gLDe!C4h?m8<m`mLD1uZ5X
zhxp-1;>}=ZUL<byze&7KT)@BHC%zr=%%{W`V?6$Ycr@b7pNYQ%`x%%K@Gq19YpAC%
z@t4q^vcx}t-qs}k3hIv}ZuYP}aa*q+Mm!}++c%x~iPp;RCVoBQ-p$0{MZdpK{4C^i
zl=wc3uWyKNg8e*0d>-yM?`=8dc^dIg3E~-;k5nXHtc{+3Bk>m@=f1@6Yp3NuA%3u>
z^3%j^-^icDt)7B2bGF~cU1{RB|FA0Y{IK)&iJPBlP27IJw=411=*I!XO%IcZAAsG<
zCY}p+{&wQF&wu2socC*gpXn~*N84(-hlwALSN;U?<*-*PiO+4X<<}CQf${Y^@!Zi`
zekbu=DE|rZ{KK{Um&EI1KK>)|$Drqb5$}?y^|ZWQ-_1U3hn#y8pNjci9C5Srsl?4b
zPa)nO@!K5YR?q#!>!AIQ5kEOX+r5T(UD)%D#G9kPz9arM?88~&)}H*cbIQl|Ete#2
zey|ep6&Tlbh|h-nI}$$&|I(MZ{oZRL@vtauUl#FP$UDs<K0RK`-%orl^y)+6(U_MV
zB5ro|6mj#LzZ188p?T)$^-bT*9~CEV{-pwO^CJt1Z;R4;A0~bp{_a`gxs$Yf;EtT_
zxejqcVd6KyAC)8iCG1!Y;?|Fih_6QZw#<iWJ9-c|{TWQ$?CL1uGZ9~96Ym52b{p{<
z5pOIaUIBXh1aXU7))F`QzfSxW=+92#vq$OuenNaX_?N_=gn$2$_;ToZ=AAkFaVPQv
zGl&<A*K+fT=YiZFBK|(?&wAp2#ArRg6aT%v@;r0(-Sqqb;`8Ff&CXOH9>929O1xK;
z*1L*$%t+<yiP!I}d@FJLo$lSlr@|f{B;Fh2<plBDpg+G5x46CBU3&e3@>W9r{{rKv
z6Y)DBpMJzmK2wQLPS$$wB)$Rj%|*nmJ%18k134F*m$RLgHz-Z~Ug$$T;+5d9yAbaW
zeHc&te)yxOh;N4+UL^h*`u7du%g`_HF-M$vfcO~rm#>Hy!+8IRcs%ss0`c4fRbGYe
z&MCKL7<Xle|AIKDI`J0}w=^W)68#cIyb9vI?!-Gn&j%6ji~5s^S4Y2O5wF%<?`H<_
zkH8lYx8FH>o_IgRC$AD8h<5HFZhHPJ@z*+NdveduDQC0i*AwrI@{Nh_#{8un@f5^+
zJ%~?E(d!K+Zhn6har3j;#Lds%Mtlv%%L3v}I_h<o5jVThctK7%48?elCjJoYQV-%C
z;0F_kpMc&b6Mr7#E{*sXXlEwzw=k}!5Wmn}+r5~$>Ce-|r@#)pLVRF?*7G)Ti@Wv^
zpBSs<j}o`vzy6;1b%;YMEX*nAZ=pZ6h%fG;<)Vn6?WDXr@yQq$gNa`YJzPLMyPeka
zFnBIG%&o}(yOGLwLA<vkr2JJ<vMkOyLFErc>KDIKd3TO`<-bSY-F2(!NB?g%aPw=i
zkaL5O^6oo(^`!E5z}^lEDR0+w=j6kQu8t!3?B0suvujTnKD#&EM!?G73;CBtMO^-R
zoa@S8i_h*Y9G|&-BXBO?l*+sF+^d_u`Syg?-xJ*G5B6o9%*kn43Bv<*GP5%DeUyDl
zADfj_CpkU4&hYG%)WnFC#6TU7x}~INPYTq@N}7}vsFRVDnh+N^#%jrN7?(UQHCSRq
z#t2_OO6Z|45j;IkuAGvdoEfN-Ha0OOedO3cT-=1DjLej=>B15d<i}uqds0)<$Ba!M
zkyIyZR7z%?l+8{}3e*{%DTQ3^brO??XD7$`3h+5$`0$LR2|2z_$Vf;}PRe<TR4f(g
z>C%=!oe^Wx(vs5UHvNrv?9neGGb=&<CPC<RMrI_WAsT>?|9`xdlXLUS|H1x2T~T<i
zig$a<V;}HdN8T@Yej>iVj>_}-&fPj4v2kF<r{Y7X?mJ|9XXRqRxc#@Hz<+lAC@JUK
z<laMHr_1Y=;sGnjyDL`!$5yWkvs_8O{t_yOLtlq|cJI!dT<-ckD_nYgCnLUovarit
zf30x$vhsR#sr-h^7ni&KT3o*#PIUM0>azOm{wD~#-1T3@c~%~Wm-OFw`QmcdKYE$#
zJDX(n+4W}$yWI6R3wJNGLwa=S{V$R)E_Z%02jzvduO7(1z`^53z_|b8Q7|f4Qa^;#
z@w0O5in5+Rit`Imc_*vTm+R-toxj<xPYsI-Jy|~Ql>ePf`TCbAD$YZ-I0^*z$|q+2
zOEfeYe$P(evb*Jr%k_V;idr)KQ$5q^pPN^5{~r~`bqWe3Kj8ii1UiK}TRG;kKVOEq
z^PXSs{{7GO=X)u0x%SsPqgU$WYY7Bg`<;K}_UD&k+$ML*1zf)qDFBzvE#Pw3pM>k%
zIC0l6eVOZDgX`Nkch`2Wj;r*2{uq6?f9?AA?uM!R%;)bbr6n+(veSe2YUkI$`N0DC
zP_(p_$oUP^mVa}8F`OTt^Yozn4L6bVFDJi+kl#WSbn<ht6!)KN4-GMY#yDL6R#&;a
sD$4&ZuH^HbdR{X2gq<#@cY0Regy@S71H}bj?)>mSv}9*Gfer)zAC)Yb#sB~S

literal 0
HcmV?d00001

diff --git a/tests/test-abidiff.cc b/tests/test-abidiff.cc
index dcb1401b5172..b4c5869de41a 100644
--- a/tests/test-abidiff.cc
+++ b/tests/test-abidiff.cc
@@ -92,7 +92,7 @@ static InOutSpec specs[] =
   {
     "data/test-abidiff/test-PR18166-libtirpc.so.abi",
     "data/test-abidiff/test-PR18166-libtirpc.so.abi",
-    "data/test-abidiff/test-PR18166-libtirpc.so.report.txt",
+    "data/test-abidiff/empty-report.txt",
     "output/test-abidiff/test-PR18166-libtirpc.so.report.txt"
   },
   {
@@ -104,26 +104,44 @@ static InOutSpec specs[] =
   {
     "data/test-abidiff/test-PR24552-v0.abi",
     "data/test-abidiff/test-PR24552-v1.abi",
-    "data/test-abidiff/test-PR24552-report0.txt",
+    "data/test-abidiff/empty-report.txt",
     "output/test-abidiff/test-PR24552-report0.txt"
   },
   {
     "data/test-abidiff/test-empty-corpus-0.xml",
     "data/test-abidiff/test-empty-corpus-0.xml",
-    "data/test-abidiff/test-empty-corpus-report.txt",
-    "output/test-abidiff/test-empty-corpus-report.txt"
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-empty-corpus-report-0.txt"
   },
   {
     "data/test-abidiff/test-empty-corpus-1.xml",
     "data/test-abidiff/test-empty-corpus-1.xml",
-    "data/test-abidiff/test-empty-corpus-report.txt",
-    "output/test-abidiff/test-empty-corpus-report.txt"
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-empty-corpus-report-1.txt"
   },
   {
     "data/test-abidiff/test-empty-corpus-2.xml",
     "data/test-abidiff/test-empty-corpus-2.xml",
-    "data/test-abidiff/test-empty-corpus-report.txt",
-    "output/test-abidiff/test-empty-corpus-report.txt"
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-empty-corpus-report-1.txt"
+  },
+  {
+    "data/test-abidiff/test-crc-0.xml",
+    "data/test-abidiff/test-crc-1.xml",
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-crc-report-0-1.txt"
+  },
+  {
+    "data/test-abidiff/test-crc-1.xml",
+    "data/test-abidiff/test-crc-0.xml",
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-crc-report-1-0.txt"
+  },
+  {
+    "data/test-abidiff/test-crc-1.xml",
+    "data/test-abidiff/test-crc-2.xml",
+    "data/test-abidiff/test-crc-report.txt",
+    "output/test-abidiff/test-crc-report-1-2.txt"
   },
   // This should be the last entry.
   {0, 0, 0, 0}
diff --git a/tests/test-read-write.cc b/tests/test-read-write.cc
index 7d24bee57051..b768c13cbd57 100644
--- a/tests/test-read-write.cc
+++ b/tests/test-read-write.cc
@@ -253,6 +253,12 @@ InOutSpec in_out_specs[] =
     "data/test-read-write/test28-without-std-vars-ref.xml",
     "output/test-read-write/test28-without-std-vars.xml"
   },
+  {
+    "data/test-read-write/test-crc.xml",
+    "",
+    "data/test-read-write/test-crc.xml",
+    "output/test-read-write/test-crc.xml",
+  },
   // This should be the last entry.
   {NULL, NULL, NULL, NULL}
 };
diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index 62e16e535f49..b8f729855436 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -425,3 +425,18 @@ TEST_CASE("Symtab::SimpleKernelSymtabs", "[symtab, basic, kernel, ksymtab]")
       }
     }
 }
+
+TEST_CASE("Symtab::KernelSymtabsWithCRC", "[symtab, crc, kernel, ksymtab]")
+{
+  const std::string base_path = "kernel-modversions/";
+
+  GIVEN("a binary with one function and one variable (GPL) exported")
+  {
+    const std::string  binary = base_path + "one_of_each.ko";
+    const corpus_sptr& corpus = assert_symbol_count(binary, 2, 2);
+    CHECK(corpus->lookup_function_symbol("exported_function")->get_crc() != 0);
+    CHECK(corpus->lookup_function_symbol("exported_function_gpl")->get_crc() != 0);
+    CHECK(corpus->lookup_variable_symbol("exported_variable")->get_crc() != 0);
+    CHECK(corpus->lookup_variable_symbol("exported_variable_gpl")->get_crc() != 0);
+  }
+}
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH v2 21/21] reader/symtab: Improve handling for suppressed aliases
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (19 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 20/21] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
@ 2020-07-03 16:46   ` Matthias Maennich
  2020-07-20 14:27   ` [PATCH v2 00/21] Refactor (k)symtab reader Dodji Seketeli
  21 siblings, 0 replies; 91+ messages in thread
From: Matthias Maennich @ 2020-07-03 16:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

When reading from XML with a symbol whitelist that leads to suppression
of aliased symbols, abidiff would hit an assertion and crash when
looking up the aliased symbol due to it being suppressed. In the new
symtab reader we can still suppress a symbol without removing it from
the lookup. Make use of that property to fix this bug.

A test has been added for this as well.

	* src/abg-reader.cc (build_elf_symbol): Improve handling of
	suppressed aliased symbols when reading from XML.
	* src/abg-symtab-reader.cc (load): Likewise.
	* tests/data/Makefile.am: Add new test data files.
	* tests/data/test-abidiff-exit/test-missing-alias-report.txt: New test file.
	* tests/data/test-abidiff-exit/test-missing-alias.abi: Likewise.
	* tests/data/test-abidiff-exit/test-missing-alias.suppr: Likewise.
	* tests/test-abidiff-exit.cc: Add support for whitelists and add
	new testcase.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-reader.cc                                |  7 +++++--
 src/abg-symtab-reader.cc                         | 16 ++++++++++++++--
 tests/data/Makefile.am                           |  3 +++
 .../test-missing-alias-report.txt                |  0
 .../test-abidiff-exit/test-missing-alias.abi     | 12 ++++++++++++
 .../test-abidiff-exit/test-missing-alias.suppr   |  4 ++++
 tests/test-abidiff-exit.cc                       |  9 +++++++++
 7 files changed, 47 insertions(+), 4 deletions(-)
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias-report.txt
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.abi
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.suppr

diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 3f636d00f9b8..d71e2d43503a 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -2850,7 +2850,8 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 
   elf_symbol::version version(version_string, is_default_version);
 
-  if (drop_if_suppressed && suppr::is_elf_symbol_suppressed(ctxt, name, type))
+  const bool is_suppressed = suppr::is_elf_symbol_suppressed(ctxt, name, type);
+  if (drop_if_suppressed && is_suppressed)
     return elf_symbol_sptr();
 
   const environment* env = ctxt.get_environment();
@@ -2860,6 +2861,8 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 					 version, visibility,
 					 /*is_linux_string_cst=*/false);
 
+  e->set_is_suppressed(is_suppressed);
+
   if (crc != 0)
     e->set_crc(crc);
 
@@ -2950,7 +2953,7 @@ build_elf_symbol_db(read_context& ctxt,
   elf_symbol_sptr sym;
   for (xmlNodePtr n = node->children; n; n = n->next)
     {
-      if ((sym = build_elf_symbol(ctxt, n, /*drop_if_suppress=*/true)))
+      if ((sym = build_elf_symbol(ctxt, n, /*drop_if_suppress=*/false)))
 	{
 	  id_sym_map[sym->get_id_string()] = sym;
 	  xml_node_ptr_elf_symbol_map[n] = sym;
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index c50c0f643386..424817106e70 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -361,7 +361,13 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
 	     end = function_symbol_map->end();
 	 it != end; ++it)
       {
-	symbols_.insert(symbols_.end(), it->second.begin(), it->second.end());
+	for (elf_symbols::const_iterator sym_it = it->second.begin(),
+					 sym_end = it->second.end();
+	     sym_it != sym_end; ++sym_it)
+	  {
+	    if (!(*sym_it)->is_suppressed())
+	      symbols_.push_back(*sym_it);
+	  }
 	ABG_ASSERT(name_symbol_map_.insert(*it).second);
       }
 
@@ -371,7 +377,13 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
 	     end = variables_symbol_map->end();
 	 it != end; ++it)
       {
-	symbols_.insert(symbols_.end(), it->second.begin(), it->second.end());
+	for (elf_symbols::const_iterator sym_it = it->second.begin(),
+					 sym_end = it->second.end();
+	     sym_it != sym_end; ++sym_it)
+	  {
+	    if (!(*sym_it)->is_suppressed())
+	      symbols_.push_back(*sym_it);
+	  }
 	ABG_ASSERT(name_symbol_map_.insert(*it).second);
       }
 
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index f39a6d427b1d..bcfc3796d0bc 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -161,6 +161,9 @@ test-abidiff-exit/test-fun-param-v0.o \
 test-abidiff-exit/test-fun-param-v1.abi \
 test-abidiff-exit/test-fun-param-v1.c \
 test-abidiff-exit/test-fun-param-v1.o \
+test-abidiff-exit/test-missing-alias-report.txt \
+test-abidiff-exit/test-missing-alias.abi \
+test-abidiff-exit/test-missing-alias.suppr \
 \
 test-diff-dwarf/test0-v0.cc		\
 test-diff-dwarf/test0-v0.o			\
diff --git a/tests/data/test-abidiff-exit/test-missing-alias-report.txt b/tests/data/test-abidiff-exit/test-missing-alias-report.txt
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/tests/data/test-abidiff-exit/test-missing-alias.abi b/tests/data/test-abidiff-exit/test-missing-alias.abi
new file mode 100644
index 000000000000..07a13f5e6d15
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-missing-alias.abi
@@ -0,0 +1,12 @@
+<abi-corpus path='test.so' soname='test.so'>
+  <elf-function-symbols>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test.c' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='test.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff-exit/test-missing-alias.suppr b/tests/data/test-abidiff-exit/test-missing-alias.suppr
new file mode 100644
index 000000000000..bcebae43a350
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-missing-alias.suppr
@@ -0,0 +1,4 @@
+[suppress_function]
+  symbol_name_not_regexp = ^__foo$
+  drop = true
+
diff --git a/tests/test-abidiff-exit.cc b/tests/test-abidiff-exit.cc
index 4d9c19437e60..772baa78cf91 100644
--- a/tests/test-abidiff-exit.cc
+++ b/tests/test-abidiff-exit.cc
@@ -212,6 +212,15 @@ InOutSpec in_out_specs[] =
     "data/test-abidiff-exit/test-fun-param-report.txt",
     "output/test-abidiff-exit/test-fun-param-report.txt"
   },
+  {
+    "data/test-abidiff-exit/test-missing-alias.abi",
+    "data/test-abidiff-exit/test-missing-alias.abi",
+    "data/test-abidiff-exit/test-missing-alias.suppr",
+    "",
+    abigail::tools_utils::ABIDIFF_OK,
+    "data/test-abidiff-exit/test-missing-alias-report.txt",
+    "output/test-abidiff-exit/test-missing-alias-report.txt"
+  },
   {0, 0, 0 ,0,  abigail::tools_utils::ABIDIFF_OK, 0, 0}
 };
 
-- 
2.27.0.212.ge8ba1cc988-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH v2 00/21] Refactor (k)symtab reader
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
                     ` (20 preceding siblings ...)
  2020-07-03 16:46   ` [PATCH v2 21/21] reader/symtab: Improve handling for suppressed aliases Matthias Maennich
@ 2020-07-20 14:27   ` Dodji Seketeli
  21 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2020-07-20 14:27 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

> The current implementation that reads the symtab and the ksymtab has grown
> over time from simple symtab reading to way more complex ksymtab reading
> including taking care of little details like position relative relocations,
> symbol namespaces, etc. Yet, more features are coming to the Linux kernels that
> make this parsing even more tricky: Further changes to the ksymtab layout and
> different needs to lookup symbols caused by features like LTO (causing RELA
> relocations in the ksymtab entries) and CFI (causing additional jump table
> symbols) that are highly confusing the meaning of ksymtab entries and make it
> increasingly challenging for a static analysis tool like libabigail to properly
> process the ksymtab values.
>
> This added complexity also adds more and more responsibilities to the
> read_context that already has a lot of different tasks to juggle. It gets
> increasingly difficult to ensure, further development in the dwarf reader can
> be done without subtly regressing existing functionality.

Agreed.

From my point of view, even independently from the kernel symbol table
reading requirement, I think we need to separate the ELF
reading/handling and the DWARF handling to make the code base more
future-proof and capable of handling things that we may face in the
future like supporting of other debuginfo formats or, who knows, other
binary formats.

I thus welcome changes that move us into that direction.  Thank you for
looking into this.

This is a big code drop so if you don't mind, I'll be reviewing this in
"rounds", going over a subset of patches multiple times, discussing
different aspects at once.

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH v2 06/21] Refactor ELF symbol table reading by adding a new symtab reader
  2020-07-03 16:46   ` [PATCH v2 06/21] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
@ 2020-07-20 15:39     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2020-07-20 15:39 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

[...]

> +++ b/include/abg-symtab-reader.h
> @@ -27,12 +27,381 @@
>  #ifndef __ABG_SYMTAB_READER_H__
>  #define __ABG_SYMTAB_READER_H__
>  
> +#include <gelf.h>
> +
> +#include <iterator>
> +#include <vector>
> +
> +#include "abg-cxx-compat.h"
> +#include "abg-ir.h"
> +
>  namespace abigail
>  {
> -
>  namespace symtab_reader
>  {
>  
> +class symtab_filter_builder;
> +
> +/// The symtab filter is the object passed to the symtab object in order to
> +/// iterate over the symbols in the symtab while applying filters.
> +///
> +/// The general idea is that it consists of a set of optionally enforced flags,
> +/// such as 'functions' or 'variables'. If not set, those are not filtered for,
> +/// neither inclusive nor exclusive. If set they are all ANDed together.
> +class symtab_filter
> +{
> +public:
> +  // The symtab_filter_builder helps us to build filters efficiently, hence
> +  // let's be nice and grant access to our internals.
> +  friend class symtab_filter_builder;
> +
> +  // Default constructor disabling all features.
> +  symtab_filter() {}
> +
> +  /// Determine whether a symbol is matching the filter criteria of this filter
> +  /// object. In terms of a filter functionality, you would _not_ filter out
> +  /// this symbol if it passes this (i.e. returns true).
> +  ///
> +  /// @param symbol The Elf symbol under test.
> +  ///
> +  /// @return whether the symbol matches all relevant / required criteria
> +  bool
> +  matches(const elf_symbol_sptr& symbol) const;
> +
> +private:
> +  // The symbol is a function (FUNC)
> +  abg_compat::optional<bool> functions_;
> +
> +  // The symbol is a variables (OBJECT)
> +  abg_compat::optional<bool> variables_;
> +
> +  // The symbol is publicly accessible (global/weak with default/protected
> +  // visibility)
> +  abg_compat::optional<bool> public_symbols_;
> +
> +  // The symbols is not defined (declared)
> +  abg_compat::optional<bool> undefined_symbols_;
> +
> +  // The symbol is listed in the ksymtab (for Linux Kernel binaries).
> +  abg_compat::optional<bool> kernel_symbols_;
> +};

As a trend, I've been moving slowly away from exposing details of (new)
types that are meant to be public interface and are thus declared in
include/*.h.

In the future, we'll be likely moving to proposing some level of ABI
compatibility for the library.  I know there many things to change
before reaching that goal, but for new classes at least, I try to not
make the road to that goal longer.

So can we please stick to a pimpl[1] pattern like what is done elsewhere
in the source code? For instance, in include/abg-suppression.h, or even
in the majority of abg-ir.h?
[1]: https://en.cppreference.com/w/cpp/language/pimpl.

Also, throughout the existing code base, doxygen code comments are put
close to where the actual code (definition) is, as opposed to being in
the header files near the declaration.  This is a conscious choice to
keep those comment close to where the actual code is.  So that whenever
the code is changed, the comment can be readily adapted without having
to go hunt the declaration elsewhere to adapt it.  Of course, because
classes are defined in header files, their doxygen comment is in the
header file there.

For the sake of consistency, can we please stick that exsiting scheme
and avoid putting API documentation in the header files near the
declarations and rather put them in the *.cc files near the definitions
of functions instead?

> +
> +/// Helper class to provide an attractive interface to build symtab_filters.
>

For all intends and purposes, I tend to think that attractiveness is in
the eye of the beholder :-)

> +///
> +/// When constructed, the helper instantiates a default symtab_filter and
> +/// allows modifications to it via builder pattern / fluent interface.
> +///
> +/// When assigned to a symtab_filter instance, it converts by returning the
> +/// locally build symtab_filter instance.
> +///
> +/// Example usage:
> +///
> +///   const symtab_filter filter =
> +///                symtab_filter_builder().functions().kernel_symbols();


Ahh fluent interface design patterns ...

Quite frankly, I perceive this as overkill in this particular context.

I mean, if the domain-specific language you are creating with this
'fluent interface' was supposed to have super tight semantic constraints
that are to be enforced in order to avoid some sort of corruption or
whatnot, then I'd maybe say OK.

My point is that I think that something like libabigail should be
hackable by folks coming from various horizons, especially low level
tools-oriented people.  My belief is that it does have value to stay
"simple" as far as the abstractions we use are concerned.  I deliberatly
chose the "less abstraction" path whenever possible.  Why?

Because someone who usually hacks on ELF or DWARF should be able to get
into the code without having to dig through loads of abstraction layers
and design patters, if that is possible.  We shouldn't require that
people be design pattern wizzards to understand the code.  That, at
least, has been one of my design philosophies since the beginning.  I
believe however that having the "right level" of abstraction is key to
handle the problem at hand in a maintainable way, so I am not against
abstractions and design patterns, far from it.

But in this case though, I think that just having:

    symtab_filter f;
    f.enable_function_symbols();
    f.enable_linux_kernel_symbols();

takes more typing but is less surprising /in the context/ that I laid
down above.  Surely less attractive to a fluent interface practionner
but less surprising to a low level tools hacker.  And at this point both
ways to write the code get the job done.

Sorry to be picky on this, but I think that these are design
philosophies that are important to convey and try to adhere to
otherwise, over time, the code base is going to be quite hard to
maintain, in part due to lack of consistency in our vision.

So I'd rather remove this layer, sorry.  And from what I read in how
this is used, I don't think it'd be removing any functionality.

Would it?

Cheers,


-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 00/20] Refactor (k)symtab reader
  2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
                   ` (16 preceding siblings ...)
  2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
@ 2021-01-27 12:58 ` Matthias Maennich
  2021-01-27 12:58   ` [PATCH 01/20] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
                     ` (20 more replies)
  17 siblings, 21 replies; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The current implementation that reads the symtab and the ksymtab has grown
over time from simple symtab reading to way more complex ksymtab reading
including taking care of little details like position relative relocations,
symbol namespaces, etc. Yet, more features are coming to the Linux kernels that
make this parsing even more tricky: Further changes to the ksymtab layout and
different needs to lookup symbols caused by features like LTO (causing RELA
relocations in the ksymtab entries) and CFI (causing additional jump table
symbols) that are highly confusing the meaning of ksymtab entries and make it
increasingly challenging for a static analysis tool like libabigail to properly
process the ksymtab values.

This added complexity also adds more and more responsibilities to the
read_context that already has a lot of different tasks to juggle. It gets
increasingly difficult to ensure, further development in the dwarf reader can
be done without subtly regressing existing functionality.

Hence, attempt a refactoring (one could argue: rewrite, but a lot of
functionality is just migrated out) of the symtab reading code.

The first commit sets up some prerequisites, a partial backport of
std::optional.

Commit 2 and 3 modify abg-ir's elf_symbol to be able to carry 'is_suppressed'
and 'is_in_ksymtab'.

Commit 4 and 5 implement the new symtab reader.

The abg-symtab-reader has been introduced as an instance decoupled from dwarf
readers' read_context. This reduces the responsibilities of the dwarf reader
and separates the functionality into a new compilation unit. It contains
several components to make the main component 'symtab' easy to access and to
query. Refer to the extensive commit message there for details. The actual
core of the symtab reading has been taken as a base, but refactored where
useful. The ksymtab reading could be simplified by processing the corresponding
__ksymtab_* entries directly from symtab without the need to interpret the
binary ksymtab sections. That also resolves issues with wrong ksymtab reading:
Mapping from the ksymtab symbol address to the symtab entry might leave us with
a non-main symbol and hence leads to incorrect results. E.g. symbols like
strlen are implemented as __pi_strlen and are aliases to strlen in the kernel.
Only by reading the ksymtab entries we can decide which symbol to keep.
Otherwise we get indeterministic results. Furthermore, symbol whitelists might
list one or the other leading to issues of suppressed symbols for which we
might just see the wrong symbol and therefore suppress both from analysis.
In addition, detecting the format of the ksymtab, requires the first entry to
be a valid elf_symbol, which is not the case if filtered out via whitelist or
suppression. Finally, features like CFI require name based lookup into the
ksymtab and LTO with clang on aarch64 might make the ksymtab contain
relocatable entries. This is additional complexity hitting the dwarf reader.
Those are subtle issues that motivated this series.

Conceptionally, the new reader works quite similar. Except for the way
suppressions are applied: Instead of discarding symbols while reading, we flag
symbols as suppressed and keep them around for lookup purposes. That resolves
issues when dealing with symbol aliases.

Commit 6 integrates the new symtab reader into the existing code - side by side
with the current implementation.

Commits 7 - 11 migrate more and more symtab users over to the new symtab
reader, including the ksymtab functionality in commit 12 where the old
implementation could be obsoleted.

Commits 12 and 13 re-add the ppc64 support for ELFv1 binaries.

Commits 14 and 15 remove now obsolete functionality and remove the now old
implementation.

Commit 16 adds additional tests for whitelisted symbols.

Commits 17 - 19 address some flaws with aliasing in combination with
suppressions (e.g. triggered from whitelists). Those are issues I was seeing in
the current implementation as well, but could solve a bit easier with the new
symtab reader.

Commit 20 adds support for MODVERSIONS in the Linux kernel (CRC values).

Performance testing has been done with an 'allmodconfig' kernel config. That is
the worst case for kernels and representing the 'distribution kernel' use case.
During those tests, no significant performance impact could be measured.

In addition, various Android Kernels in various configurations have been tested
with this. In fact, Android Kernels use this patch series since last July for
all their libabigail based analysis.

The earlier added tests for reading symtab and ksymtab oviously pass.

v2 -> v3:
  - removed symtab_reader::symtab_filter_builder
  - moved around the documentation accordingly
  - eliminated sptr use in interfaces where possible and appropriate
  - Some simplifications due to C++11 use (range for, etc).
  - minor fixes and cleanups were absorbed
  - some patches have been reorganized

v1 -> v2:
  - Commit 16 now also drops the obsolete ksymtab enums.
  - Commit 17+ are new (alias improvements, modversions)
  - rebased on top of current master

Cheers,
Matthias

Giuliano Procida (1):
  abg-writer.cc: fix write_elf_symbol_reference loop

Matthias Maennich (19):
  abg-cxx-compat: add simplified version of std::optional
  abg-ir: elf_symbol: add is_in_ksymtab field
  abg-ir: elf_symbol: add is_suppressed field
  dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
  Refactor ELF symbol table reading by adding a new symtab reader
  Integrate new symtab reader into corpus and read_context
  corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  corpus: make get_unreferenced_(function|variable)_symbols use the new
    symtab
  abg-reader: avoid using the (var|function)_symbol_map
  dwarf-reader: read_context: use new symtab in *_symbols_is_exported
  Switch kernel stuff over to new symtab and drop unused code
  abg-elf-helpers: migrate ppc64 specific helpers
  symtab_reader: add support for ppc64 ELFv1 binaries
  abg-corpus: remove symbol maps and their setters
  dwarf reader: drop (now) unused code related to symbol table reading
  test-symtab: add tests for whitelisted functions
  symtab/dwarf-reader: allow hinting of main symbols for aliases
  dwarf-reader/writer: consider aliases when dealing with suppressions
  symtab: Add support for MODVERSIONS (CRC checksums)

 include/abg-corpus.h                          |   24 +-
 include/abg-cxx-compat.h                      |   84 +
 include/abg-dwarf-reader.h                    |    6 -
 include/abg-fwd.h                             |    8 +
 include/abg-ir.h                              |   53 +-
 src/Makefile.am                               |    2 +
 src/abg-comp-filter.cc                        |   39 +-
 src/abg-corpus-priv.h                         |   57 +-
 src/abg-corpus.cc                             |  609 ++--
 src/abg-dwarf-reader.cc                       | 2443 ++---------------
 src/abg-elf-helpers.cc                        |  186 ++
 src/abg-elf-helpers.h                         |    8 +
 src/abg-ir.cc                                 |  187 +-
 src/abg-reader.cc                             |   57 +-
 src/abg-reporter-priv.cc                      |   18 +-
 src/abg-symtab-reader.cc                      |  511 ++++
 src/abg-symtab-reader.h                       |  310 +++
 src/abg-tools-utils.cc                        |   13 -
 src/abg-writer.cc                             |   68 +-
 tests/Makefile.am                             |    4 +
 tests/data/Makefile.am                        |   38 +-
 .../test5-fn-changed-report-0.txt             |    4 -
 .../test5-fn-changed-report-1.txt             |    4 -
 .../test-abidiff-exit/test-crc-report.txt     |   15 +
 tests/data/test-abidiff-exit/test-crc-v0.abi  |   29 +
 tests/data/test-abidiff-exit/test-crc-v1.abi  |   30 +
 .../test-missing-alias-report.txt             |    0
 .../test-abidiff-exit/test-missing-alias.abi  |   12 +
 .../test-missing-alias.suppr                  |    4 +
 ...ibtirpc.so.report.txt => empty-report.txt} |    0
 .../test-abidiff/test-PR24552-report0.txt     |    3 -
 tests/data/test-abidiff/test-crc-0.xml        | 1601 +++++++++++
 tests/data/test-abidiff/test-crc-1.xml        | 1601 +++++++++++
 tests/data/test-abidiff/test-crc-2.xml        | 1601 +++++++++++
 tests/data/test-abidiff/test-crc-report.txt   |    9 +
 .../test-abidiff/test-empty-corpus-report.txt |    3 -
 .../data/test-annotate/test15-pr18892.so.abi  |  918 +++----
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
 tests/data/test-annotate/test2.so.abi         |   12 +-
 tests/data/test-annotate/test3.so.abi         |    6 +-
 tests/data/test-diff-dwarf/test12-report.txt  |    7 +
 .../test36-ppc64-aliases-report-0.txt         |    4 +-
 .../test42-PR21296-clanggcc-report0.txt       |    6 +-
 .../test31-pr18535-libstdc++-report-0.txt     |    6 +-
 .../test31-pr18535-libstdc++-report-1.txt     |    6 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-0.txt |    6 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-1.txt |    6 +-
 .../test23-alias-filter-4.suppr               |    2 +-
 .../test23-alias-filter-report-0.txt          |    4 +-
 .../test23-alias-filter-report-2.txt          |    4 +-
 .../data/test-diff-suppr/test31-report-0.txt  |    3 +
 .../data/test-diff-suppr/test32-report-1.txt  |    2 +-
 .../PR22015-libboost_iostreams.so.abi         |   48 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    |    6 +-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   77 +-
 .../test-read-dwarf/libtest24-drop-fns.so.abi |  314 +--
 .../test-read-dwarf/test-suppressed-alias.c   |   16 +
 .../test-read-dwarf/test-suppressed-alias.o   |  Bin 0 -> 2848 bytes
 .../test-suppressed-alias.o.abi               |   16 +
 .../test-suppressed-alias.suppr               |    7 +
 .../test-read-dwarf/test10-pr18818-gcc.so.abi |  192 +-
 .../test-read-dwarf/test11-pr18828.so.abi     |  516 ++--
 .../test-read-dwarf/test12-pr18844.so.abi     |   66 +-
 .../test-read-dwarf/test15-pr18892.so.abi     |  918 +++----
 .../test-read-dwarf/test16-pr18904.so.abi     |  990 +++----
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
 tests/data/test-read-dwarf/test2.so.abi       |   12 +-
 tests/data/test-read-dwarf/test2.so.hash.abi  |   12 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 1042 +++----
 .../test-read-dwarf/test3-alias-1.so.hash.abi |   14 +
 .../data/test-read-dwarf/test3-alias-1.suppr  |    3 +
 .../test-read-dwarf/test3-alias-2.so.hash.abi |   18 +
 .../data/test-read-dwarf/test3-alias-2.suppr  |    3 +
 .../test-read-dwarf/test3-alias-3.so.hash.abi |   14 +
 .../data/test-read-dwarf/test3-alias-3.suppr  |    3 +
 .../test-read-dwarf/test3-alias-4.so.hash.abi |    8 +
 .../data/test-read-dwarf/test3-alias-4.suppr  |    3 +
 tests/data/test-read-dwarf/test3.so.abi       |    6 +-
 tests/data/test-read-dwarf/test3.so.hash.abi  |    6 +-
 tests/data/test-read-write/test-crc.xml       |   10 +
 tests/data/test-symtab/basic/aliases.c        |   13 +
 tests/data/test-symtab/basic/aliases.so       |  Bin 0 -> 17176 bytes
 tests/data/test-symtab/basic/no_debug_info.c  |    2 +-
 tests/data/test-symtab/basic/no_debug_info.so |  Bin 15360 -> 15544 bytes
 .../one_function_one_variable_all.whitelist   |    3 +
 ...e_function_one_variable_function.whitelist |    2 +
 ...function_one_variable_irrelevant.whitelist |    2 +
 ...e_function_one_variable_variable.whitelist |    2 +
 .../test-symtab/kernel-modversions/Makefile   |   19 +
 .../kernel-modversions/one_of_each.c          |    1 +
 .../kernel-modversions/one_of_each.ko         |  Bin 0 -> 131760 bytes
 tests/test-abidiff-exit.cc                    |   22 +
 tests/test-abidiff.cc                         |   34 +-
 tests/test-cxx-compat.cc                      |   52 +
 tests/test-read-dwarf.cc                      |   40 +
 tests/test-read-write.cc                      |    6 +
 tests/test-symtab-reader.cc                   |   15 +
 tests/test-symtab.cc                          |  195 +-
 tools/abidw.cc                                |    2 -
 99 files changed, 10001 insertions(+), 5482 deletions(-)
 create mode 100644 src/abg-symtab-reader.cc
 create mode 100644 src/abg-symtab-reader.h
 create mode 100644 tests/data/test-abidiff-exit/test-crc-report.txt
 create mode 100644 tests/data/test-abidiff-exit/test-crc-v0.abi
 create mode 100644 tests/data/test-abidiff-exit/test-crc-v1.abi
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias-report.txt
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.abi
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.suppr
 rename tests/data/test-abidiff/{test-PR18166-libtirpc.so.report.txt => empty-report.txt} (100%)
 delete mode 100644 tests/data/test-abidiff/test-PR24552-report0.txt
 create mode 100644 tests/data/test-abidiff/test-crc-0.xml
 create mode 100644 tests/data/test-abidiff/test-crc-1.xml
 create mode 100644 tests/data/test-abidiff/test-crc-2.xml
 create mode 100644 tests/data/test-abidiff/test-crc-report.txt
 delete mode 100644 tests/data/test-abidiff/test-empty-corpus-report.txt
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.c
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.o
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.o.abi
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.suppr
 create mode 100644 tests/data/test-read-write/test-crc.xml
 create mode 100644 tests/data/test-symtab/basic/aliases.c
 create mode 100755 tests/data/test-symtab/basic/aliases.so
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist
 create mode 100644 tests/data/test-symtab/kernel-modversions/Makefile
 create mode 120000 tests/data/test-symtab/kernel-modversions/one_of_each.c
 create mode 100644 tests/data/test-symtab/kernel-modversions/one_of_each.ko
 create mode 100644 tests/test-symtab-reader.cc

-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 01/20] abg-cxx-compat: add simplified version of std::optional
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-09  9:43     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 02/20] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
                     ` (19 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In the absence (but desire) of std::optional<T>, add a simplified
version of it to abg_compat:: in case we are compiling with a pre-C++17
standard. Otherwise use std::optional from <optional> directly.

This is being used by a later patch and serves as a prerequisite.
It only serves the purpose of being a compatibility implementation and
does not claim to be complete at all. Just enough for the project's
needs.

	* include/abg-cxx-compat.h (abg_compat::optional): Add new class.
	* tests/tests-cxx-compat.cc: Add new test cases.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-cxx-compat.h | 84 ++++++++++++++++++++++++++++++++++++++++
 tests/test-cxx-compat.cc | 52 +++++++++++++++++++++++++
 2 files changed, 136 insertions(+)

diff --git a/include/abg-cxx-compat.h b/include/abg-cxx-compat.h
index 838fa53707d1..443905c75138 100644
--- a/include/abg-cxx-compat.h
+++ b/include/abg-cxx-compat.h
@@ -8,8 +8,92 @@
 #ifndef __ABG_CXX_COMPAT_H
 #define __ABG_CXX_COMPAT_H
 
+// C++17 support (via custom implementations if compiled with earlier standard)
+
+#if __cplusplus >= 201703L
+
+#include <optional>
+
+#else
+
+#include <stdexcept> // for throwing std::runtime_error("bad_optional_access")
+
+#endif
+
 namespace abg_compat {
 
+#if __cplusplus >= 201703L
+
+using std::optional;
+
+#else
+
+// <optional>
+
+/// Simplified implementation of std::optional just enough to be used as a
+/// replacement for our purposes and when compiling with pre C++17.
+///
+/// The implementation intentionally does not support a whole lot of features
+/// to minimize the maintenance effort with this.
+template <typename T> class optional
+{
+  bool has_value_;
+  T    value_;
+
+public:
+  optional() : has_value_(false), value_() {}
+  optional(const T& value) : has_value_(true), value_(value) {}
+
+  bool
+  has_value() const
+  {
+    return has_value_;
+  }
+
+  const T&
+  value() const
+  {
+    if (!has_value_)
+      throw std::runtime_error("bad_optional_access");
+    return value_;
+  }
+
+  const T
+  value_or(const T& default_value) const
+  {
+    if (!has_value_)
+      return default_value;
+    return value_;
+  }
+
+  const T&
+  operator*() const
+  { return value_; }
+
+  T&
+  operator*()
+  { return value_; }
+
+  const T*
+  operator->() const
+  { return &value_; }
+
+  T*
+  operator->()
+  { return &value_; }
+
+  optional&
+  operator=(const T& value)
+  {
+    has_value_ = true;
+    value_ = value;
+    return *this;
+  }
+
+  explicit operator bool() const { return has_value_; }
+};
+
+#endif
 }
 
 #endif  // __ABG_CXX_COMPAT_H
diff --git a/tests/test-cxx-compat.cc b/tests/test-cxx-compat.cc
index 35dc4f6104c2..2b0caaae1ab4 100644
--- a/tests/test-cxx-compat.cc
+++ b/tests/test-cxx-compat.cc
@@ -12,3 +12,55 @@
 #include "lib/catch.hpp"
 
 #include "abg-cxx-compat.h"
+
+using abg_compat::optional;
+
+TEST_CASE("OptionalConstruction", "[abg_compat::optional]")
+{
+  optional<bool> opt1;
+  REQUIRE_FALSE(opt1.has_value());
+
+  optional<bool> opt2(true);
+  REQUIRE(opt2.has_value());
+  CHECK(opt2.value() == true);
+
+  optional<bool> opt3(false);
+  REQUIRE(opt3.has_value());
+  CHECK(opt3.value() == false);
+}
+
+TEST_CASE("OptionalValue", "[abg_compat::optional]")
+{
+  optional<bool> opt;
+  REQUIRE_FALSE(opt.has_value());
+  REQUIRE_THROWS(opt.value());
+
+  opt = true;
+  REQUIRE_NOTHROW(opt.value());
+  CHECK(opt.value() == true);
+}
+
+TEST_CASE("OptionalValueOr", "[abg_compat::optional]")
+{
+  optional<std::string> opt;
+  REQUIRE_FALSE(opt.has_value());
+
+  const std::string& mine = "mine";
+  // Ensure we get a copy of our own value.
+  CHECK(opt.value_or(mine) == mine);
+
+  // Now set the value
+  const std::string& other = "other";
+  opt = other;
+  CHECK(opt.value_or(mine) != mine);
+  CHECK(opt.value_or(mine) == other);
+}
+
+TEST_CASE("OptionalDeref", "[abg_compat::optional]")
+{
+  optional<std::string> opt("asdf");
+  REQUIRE(opt.has_value());
+
+  CHECK(*opt == "asdf");
+  CHECK(opt->size() == 4);
+}
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 02/20] abg-ir: elf_symbol: add is_in_ksymtab field
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
  2021-01-27 12:58   ` [PATCH 01/20] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-09 14:05     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 03/20] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
                     ` (18 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Being exported through a ksymtab (in case of Linux Kernel binaries) is
actually a property of the Elf symbol itself and we can therefore track
it along with the symbol that we collect from symtab. While tracking is
currently done by keeping separate symbol lists and maps for symtab and
ksymtab symbols, they can be consolidated having a property to indicate
whether this symbol also appeared as a ksymtab entry.

Hence, and for future changes in this area, add this property and update
all references. The flag is false initially unless otherwise specified.

	* include/abg-ir.h (elf_symbol::elf_symbol): Add is_in_ksymtab
	parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::is_in_ksymtab): New getter declaration.
	(elf_symbol::set_is_in_ksymtab): New setter declaration.
	* src/abg-ir.cc (elf_symbol::priv::priv): Add is_in_ksymtab
	parameter.
	(elf_symbol::priv::is_in_ksymtab_): New field.
	(elf_symbol::elf_symbol): Add is_in_ksymtab parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::is_in_ksymtab): New getter implementation.
	(elf_symbol::set_is_in_ksymtab): New setter implementation.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h |  34 +++++++++------
 src/abg-ir.cc    | 105 +++++++++++++++++++++++++++++------------------
 2 files changed, 86 insertions(+), 53 deletions(-)

diff --git a/include/abg-ir.h b/include/abg-ir.h
index c32b2f7fe989..d82c83592f82 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -837,8 +837,9 @@ private:
 	     bool		d,
 	     bool		c,
 	     const version&	ve,
-	     visibility	vi,
-	     bool		is_linux_string_cst = false);
+	     visibility		vi,
+	     bool		is_linux_string_cst = false,
+	     bool		is_in_ksymtab = false);
 
   elf_symbol(const elf_symbol&);
 
@@ -851,17 +852,18 @@ public:
   create();
 
   static elf_symbol_sptr
-  create(const environment*	e,
-	 size_t		i,
-	 size_t		s,
-	 const string&		n,
-	 type			t,
-	 binding		b,
-	 bool			d,
-	 bool			c,
-	 const version&	ve,
-	 visibility		vi,
-	 bool			is_linux_string_cst = false);
+  create(const environment* e,
+	 size_t		    i,
+	 size_t		    s,
+	 const string&	    n,
+	 type		    t,
+	 binding	    b,
+	 bool		    d,
+	 bool		    c,
+	 const version&	    ve,
+	 visibility	    vi,
+	 bool		    is_linux_string_cst = false,
+	 bool		    is_in_ksymtab = false);
 
   const environment*
   get_environment() const;
@@ -929,6 +931,12 @@ public:
   bool
   is_variable() const;
 
+  bool
+  is_in_ksymtab() const;
+
+  void
+  set_is_in_ksymtab(bool is_in_ksymtab);
+
   const elf_symbol_sptr
   get_main_symbol() const;
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index d1d02f3aad5d..22532cc87dfd 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1310,6 +1310,7 @@ struct elf_symbol::priv
   //     STT_COMMON definition of that name that has the largest size.
   bool			is_common_;
   bool			is_linux_string_cst_;
+  bool			is_in_ksymtab_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
   elf_symbol_wptr	next_common_instance_;
@@ -1324,20 +1325,22 @@ struct elf_symbol::priv
       visibility_(elf_symbol::DEFAULT_VISIBILITY),
       is_defined_(false),
       is_common_(false),
-      is_linux_string_cst_(false)
+      is_linux_string_cst_(false),
+      is_in_ksymtab_(false)
   {}
 
-  priv(const environment*		e,
-       size_t				i,
-       size_t				s,
-       const string&			n,
-       elf_symbol::type		t,
-       elf_symbol::binding		b,
-       bool				d,
-       bool				c,
-       const elf_symbol::version&	ve,
-       elf_symbol::visibility		vi,
-       bool				is_linux_string_cst)
+  priv(const environment*	  e,
+       size_t			  i,
+       size_t			  s,
+       const string&		  n,
+       elf_symbol::type		  t,
+       elf_symbol::binding	  b,
+       bool			  d,
+       bool			  c,
+       const elf_symbol::version& ve,
+       elf_symbol::visibility	  vi,
+       bool			  is_linux_string_cst,
+       bool			  is_in_ksymtab)
     : env_(e),
       index_(i),
       size_(s),
@@ -1348,7 +1351,8 @@ struct elf_symbol::priv
       visibility_(vi),
       is_defined_(d),
       is_common_(c),
-      is_linux_string_cst_(is_linux_string_cst)
+      is_linux_string_cst_(is_linux_string_cst),
+      is_in_ksymtab_(is_in_ksymtab)
   {
     if (!is_common_)
       is_common_ = type_ == COMMON_TYPE;
@@ -1394,19 +1398,30 @@ elf_symbol::elf_symbol()
 ///
 /// @param is_linux_string_cst true if the symbol is a Linux Kernel
 /// string constant defined in the __ksymtab_strings section.
-elf_symbol::elf_symbol(const environment*	e,
-		       size_t			i,
-		       size_t			s,
-		       const string&		n,
-		       type			t,
-		       binding			b,
-		       bool			d,
-		       bool			c,
-		       const version&		ve,
-		       visibility		vi,
-		       bool			is_linux_string_cst)
-  : priv_(new priv(e, i, s, n, t, b, d,
-		   c, ve, vi, is_linux_string_cst))
+elf_symbol::elf_symbol(const environment* e,
+		       size_t		  i,
+		       size_t		  s,
+		       const string&	  n,
+		       type		  t,
+		       binding		  b,
+		       bool		  d,
+		       bool		  c,
+		       const version&	  ve,
+		       visibility	  vi,
+		       bool		  is_linux_string_cst,
+		       bool		  is_in_ksymtab)
+  : priv_(new priv(e,
+		   i,
+		   s,
+		   n,
+		   t,
+		   b,
+		   d,
+		   c,
+		   ve,
+		   vi,
+		   is_linux_string_cst,
+		   is_in_ksymtab))
 {}
 
 /// Factory of instances of @ref elf_symbol.
@@ -1453,20 +1468,22 @@ elf_symbol::create()
 /// @return a (smart) pointer to a newly created instance of @ref
 /// elf_symbol.
 elf_symbol_sptr
-elf_symbol::create(const environment*	e,
-		   size_t		i,
-		   size_t		s,
-		   const string&	n,
-		   type		t,
-		   binding		b,
-		   bool		d,
-		   bool		c,
-		   const version&	ve,
-		   visibility		vi,
-		   bool		is_linux_string_cst)
-{
-  elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve,
-				     vi, is_linux_string_cst));
+elf_symbol::create(const environment* e,
+		   size_t	      i,
+		   size_t	      s,
+		   const string&      n,
+		   type		      t,
+		   binding	      b,
+		   bool		      d,
+		   bool		      c,
+		   const version&     ve,
+		   visibility	      vi,
+		   bool		      is_linux_string_cst,
+		   bool		      is_in_ksymtab)
+{
+  elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
+				     is_linux_string_cst,
+				     is_in_ksymtab));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1686,6 +1703,14 @@ bool
 elf_symbol::is_variable() const
 {return get_type() == OBJECT_TYPE || get_type() == TLS_TYPE;}
 
+bool
+elf_symbol::is_in_ksymtab() const
+{return priv_->is_in_ksymtab_;}
+
+void
+elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
+{priv_->is_in_ksymtab_ = is_in_ksymtab;}
+
 /// @name Elf symbol aliases
 ///
 /// An alias A for an elf symbol S is a symbol that is defined at the
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 03/20] abg-ir: elf_symbol: add is_suppressed field
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
  2021-01-27 12:58   ` [PATCH 01/20] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
  2021-01-27 12:58   ` [PATCH 02/20] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-09 18:03     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
                     ` (17 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In the context of libabigail and a single library run (when reading from
dwarf or from xml), a symbol is either suppressed or it is not. While
one could argue that this is a property of the read_context, the
read_context might not be around anymore when the symbol still is.
Hence, persist the 'is_suppressed' state along with the symbol itself.

        * include/abg-ir.h (elf_symbol::elf_symbol): Add is_suppressed
        parameter.
        (elf_symbol::create): Likewise.
        (elf_symbol::is_suppressed): New getter declaration.
        (elf_symbol::set_is_suppressed): New setter declaration.
        * src/abg-ir.cc (elf_symbol::priv::priv): Add is_suppressed
        parameter.
        (elf_symbol::priv::is_suppressed_): New field.
        (elf_symbol::elf_symbol): Add is_suppressed parameter.
        (elf_symbol::create): Likewise.
        (elf_symbol::is_suppressed): New getter implementation.
        (elf_symbol::set_is_suppressed): New setter implementation.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h | 12 ++++++++++--
 src/abg-ir.cc    | 29 ++++++++++++++++++++++-------
 2 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/include/abg-ir.h b/include/abg-ir.h
index d82c83592f82..23ba16bd327b 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -839,7 +839,8 @@ private:
 	     const version&	ve,
 	     visibility		vi,
 	     bool		is_linux_string_cst = false,
-	     bool		is_in_ksymtab = false);
+	     bool		is_in_ksymtab = false,
+	     bool		is_suppressed = false);
 
   elf_symbol(const elf_symbol&);
 
@@ -863,7 +864,8 @@ public:
 	 const version&	    ve,
 	 visibility	    vi,
 	 bool		    is_linux_string_cst = false,
-	 bool		    is_in_ksymtab = false);
+	 bool		    is_in_ksymtab = false,
+	 bool		    is_suppressed = false);
 
   const environment*
   get_environment() const;
@@ -937,6 +939,12 @@ public:
   void
   set_is_in_ksymtab(bool is_in_ksymtab);
 
+  bool
+  is_suppressed() const;
+
+  void
+  set_is_suppressed(bool is_suppressed);
+
   const elf_symbol_sptr
   get_main_symbol() const;
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 22532cc87dfd..1ba95dd6c14f 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1311,6 +1311,7 @@ struct elf_symbol::priv
   bool			is_common_;
   bool			is_linux_string_cst_;
   bool			is_in_ksymtab_;
+  bool			is_suppressed_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
   elf_symbol_wptr	next_common_instance_;
@@ -1326,7 +1327,8 @@ struct elf_symbol::priv
       is_defined_(false),
       is_common_(false),
       is_linux_string_cst_(false),
-      is_in_ksymtab_(false)
+      is_in_ksymtab_(false),
+      is_suppressed_(false)
   {}
 
   priv(const environment*	  e,
@@ -1340,7 +1342,8 @@ struct elf_symbol::priv
        const elf_symbol::version& ve,
        elf_symbol::visibility	  vi,
        bool			  is_linux_string_cst,
-       bool			  is_in_ksymtab)
+       bool			  is_in_ksymtab,
+       bool			  is_suppressed)
     : env_(e),
       index_(i),
       size_(s),
@@ -1352,7 +1355,8 @@ struct elf_symbol::priv
       is_defined_(d),
       is_common_(c),
       is_linux_string_cst_(is_linux_string_cst),
-      is_in_ksymtab_(is_in_ksymtab)
+      is_in_ksymtab_(is_in_ksymtab),
+      is_suppressed_(is_suppressed)
   {
     if (!is_common_)
       is_common_ = type_ == COMMON_TYPE;
@@ -1409,7 +1413,8 @@ elf_symbol::elf_symbol(const environment* e,
 		       const version&	  ve,
 		       visibility	  vi,
 		       bool		  is_linux_string_cst,
-		       bool		  is_in_ksymtab)
+		       bool		  is_in_ksymtab,
+		       bool		  is_suppressed)
   : priv_(new priv(e,
 		   i,
 		   s,
@@ -1421,7 +1426,8 @@ elf_symbol::elf_symbol(const environment* e,
 		   ve,
 		   vi,
 		   is_linux_string_cst,
-		   is_in_ksymtab))
+		   is_in_ksymtab,
+		   is_suppressed))
 {}
 
 /// Factory of instances of @ref elf_symbol.
@@ -1479,11 +1485,12 @@ elf_symbol::create(const environment* e,
 		   const version&     ve,
 		   visibility	      vi,
 		   bool		      is_linux_string_cst,
-		   bool		      is_in_ksymtab)
+		   bool		      is_in_ksymtab,
+		   bool		      is_suppressed)
 {
   elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
 				     is_linux_string_cst,
-				     is_in_ksymtab));
+				     is_in_ksymtab, is_suppressed));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1711,6 +1718,14 @@ void
 elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
 {priv_->is_in_ksymtab_ = is_in_ksymtab;}
 
+bool
+elf_symbol::is_suppressed() const
+{return priv_->is_suppressed_;}
+
+void
+elf_symbol::set_is_suppressed(bool is_suppressed)
+{priv_->is_suppressed_ = is_suppressed;}
+
 /// @name Elf symbol aliases
 ///
 /// An alias A for an elf symbol S is a symbol that is defined at the
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (2 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 03/20] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-10 18:00     ` [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h,cc} " Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 05/20] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
                     ` (16 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

abg-symtab-reader.{h,cc} shall contain the refactored symtab reader.
Create the stub files, an empty unit test and hook everything up in the
make system.

    * src/abg-symtab-reader.h: New header file.
    * src/abg-symtab-reader.cc: New source file.
    * src/Makefile.am: Add new source files.
    * tests/Makefile.am: Add new test case runtestsymtabreader.
    * tests/test-symtab-reader.cc: New test source file.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/Makefile.am             |  2 ++
 src/abg-symtab-reader.cc    | 21 +++++++++++++++++++++
 src/abg-symtab-reader.h     | 24 ++++++++++++++++++++++++
 tests/Makefile.am           |  4 ++++
 tests/test-symtab-reader.cc | 15 +++++++++++++++
 5 files changed, 66 insertions(+)
 create mode 100644 src/abg-symtab-reader.cc
 create mode 100644 src/abg-symtab-reader.h
 create mode 100644 tests/test-symtab-reader.cc

diff --git a/src/Makefile.am b/src/Makefile.am
index 26fc4d1566ca..86877635be03 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -38,6 +38,8 @@ abg-tools-utils.cc			\
 abg-elf-helpers.h			\
 abg-elf-helpers.cc			\
 abg-regex.cc				\
+abg-symtab-reader.h			\
+abg-symtab-reader.cc			\
 $(VIZ_SOURCES)
 
 libabigail_la_LIBADD = $(DEPS_LIBS)
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
new file mode 100644
index 000000000000..a6c8ca0ef548
--- /dev/null
+++ b/src/abg-symtab-reader.cc
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This contains the definition of the symtab reader
+
+#include "abg-symtab-reader.h"
+
+namespace abigail
+{
+
+namespace symtab_reader
+{
+
+} // end namespace symtab_reader
+} // end namespace abigail
diff --git a/src/abg-symtab-reader.h b/src/abg-symtab-reader.h
new file mode 100644
index 000000000000..a929166b83ef
--- /dev/null
+++ b/src/abg-symtab-reader.h
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This contains the declarations for the symtab reader.
+
+#ifndef __ABG_SYMTAB_READER_H__
+#define __ABG_SYMTAB_READER_H__
+
+namespace abigail
+{
+
+namespace symtab_reader
+{
+
+} // end namespace symtab_reader
+} // end namespace abigail
+
+#endif // __ABG_SYMTAB_READER_H__
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 655facb19ec1..533cc23680ce 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -46,6 +46,7 @@ runtestkmiwhitelist		\
 runtestlookupsyms		\
 runtestreadwrite		\
 runtestsymtab			\
+runtestsymtabreader		\
 runtesttoolsutils		\
 runtestsvg			\
 $(FEDABIPKGDIFF_TEST) 		\
@@ -156,6 +157,9 @@ runtestcxxcompat_LDADD = libcatch.la $(top_builddir)/src/libabigail.la
 runtestsymtab_SOURCES = test-symtab.cc
 runtestsymtab_LDADD = libtestutils.la libcatch.la $(top_builddir)/src/libabigail.la
 
+runtestsymtabreader_SOURCES = test-symtab-reader.cc
+runtestsymtabreader_LDADD = libcatch.la $(top_builddir)/src/libabigail.la
+
 runtestsvg_SOURCES=test-svg.cc
 runtestsvg_LDADD=$(top_builddir)/src/libabigail.la
 
diff --git a/tests/test-symtab-reader.cc b/tests/test-symtab-reader.cc
new file mode 100644
index 000000000000..1bd37572f4d7
--- /dev/null
+++ b/tests/test-symtab-reader.cc
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+// -*- Mode: C++ -*-
+//
+// Copyright (C) 2020 Google, Inc.
+//
+// Author: Matthias Maennich
+
+/// @file
+///
+/// This program tests libabigail's symtab reader.
+
+#include "lib/catch.hpp"
+
+#include "abg-symtab-reader.h"
+
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 05/20] Refactor ELF symbol table reading by adding a new symtab reader
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (3 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-12 11:18     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 06/20] Integrate new symtab reader into corpus and read_context Matthias Maennich
                     ` (15 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Based on existing functionality, implement the reading of ELF symbol
tables as a separate component. This reduces the complexity of
abg-dwarf-reader's read_context by separating and delegating the
functionality. This also allows dedicated testing.

The new namespace symtab_reader contains a couple of new components that
work loosely coupled together. Together they allow for a consistent view
on a symbol table. With filter criteria those views can be restricted,
iterated and consistent lookup maps can be built on top of them. While
this implementation tries to address some shortcomings of the previous
model, it still provides the high level interfaces to the symbol table
contents through sorted iterating and name/address mapped access.

symtab_reader::symtab

  While the other classes in the same namespace are merely helpers, this
  is the main implementation of symtab reading and storage.
  Symtab objects are factory created to ensure a consistent construction
  and valid invariants. Thus a symtab will be loaded by either passing
  an ELF handle (when reading from binary) or by passing a set of
  function/variable symbol maps (when reading from XML).
  When constructed they are considered const and are not writable
  anymore. As such, all public methods are const.

  The load reuses the existing implementation for loading symtab
  sections, but since the new implementation does not distinguish
  between functions and variables, the code could be simplified. The
  support for ppc64 function entry addresses has been deferred to a
  later commit.

  Linux Kernel symbol tables are now directly loaded by name when
  encountering symbols prefixed with the __ksymtab_ as per convention.
  This has been tricky in the past due to various different binary
  layouts (relocations, position relative relocations, symbol
  namespaces, CFI indirections, differences between vmlinux and kernel
  modules). Thus the new implementation is much simpler and is less
  vulnerable to future ksymtab changes. As we are also not looking up
  the Kernel symbols by addresses, we could resolve shortcomings with
  symbol aliasing: Previously a symbol and its alias were
  indistinguishable as they are having the same symbol address. We could
  not identify the one that is actually exported via ksymtab.

  One major architectural difference of this implementation is that we
  do not early discard suppressed symbols. While we keep them out of the
  vector of exported symbols, we still make them available for lookup.
  That helps addressing issues when looking up a symbol by address (e.g.
  from the ksymtab read implementation) that is suppressed. That would
  fail in the existing implementation.

  Still, we intend to only instantiate each symbol once and pass around
  shared_ptr instances to refer to it from the vector as well as from
  the lookup maps.

  For reading, there are two access paths that serve the existing
  patterns:
	1) lookup_symbol: either via a name or an address
	2) filtered iteration with begin(), end()

  The former is used for direct access with a clue in hand (like a name
  or an address), the latter is used for iteration (e.g. when emitting
  the XML).

symtab_reader::symtab_iterator

  The symtab_iterator is an STL compatible iterator that is returned
  from begin() and end() of the symtab. It allows usual forward iterator
  operations and can optionally take a filter predicate to skip non
  matching elements.

symtab_reader::symtab_filter

  The symtab_filter serves as a predicate for the symtab_iterator by
  providing a matches(const elf_symbol_sptr&) function.  The predicate
  is built by ANDing together several conditions on attributes a symbol
  can have. The filter conditions are implemented in terms of
  std::optional<bool> members to allow a tristate: "needs to have the
  condition set", "must not have it set" and "don't care".

symtab_reader::filtered_symtab

  The filtered_symtab is a convenience zero cost abstraction that allows
  prepopulating the symtab_filter (call it a capture) such that begin()
  and end() are now accessible without the need to pass the filter
  again. Argumentless begin() and end() are a requirement for range-for
  loops and other STL based algorithms.

	* src/abg-symtab-reader.h (symtab_filter): New class.
	(symtab_iterator): Likewise.
	(symtab): Likewise.
	(filtered_symtab): Likewise.
	* src/abg-symtab-reader.cc (symtab_filter::matches): New.
	(symtab::make_filter): Likewise.
	(symtab::lookup_symbol): Likewise.
	(symbol_sort): Likewise.
	(symtab::load): Likewise.
	(symtab::load_): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-symtab-reader.cc | 347 +++++++++++++++++++++++++++++++++++++++
 src/abg-symtab-reader.h  | 277 ++++++++++++++++++++++++++++++-
 2 files changed, 623 insertions(+), 1 deletion(-)

diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index a6c8ca0ef548..4576be2a0b42 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 // -*- Mode: C++ -*-
 //
+// Copyright (C) 2013-2020 Red Hat, Inc.
 // Copyright (C) 2020 Google, Inc.
 //
 // Author: Matthias Maennich
@@ -9,7 +10,20 @@
 ///
 /// This contains the definition of the symtab reader
 
+#include <algorithm>
+#include <iostream>
+#include <unordered_set>
+
+#include "abg-elf-helpers.h"
+#include "abg-fwd.h"
+#include "abg-internal.h"
+#include "abg-tools-utils.h"
+
+// Though this is an internal header, we need to export the symbols to be able
+// to test this code.  TODO: find a way to export symbols just for unit tests.
+ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-symtab-reader.h"
+ABG_END_EXPORT_DECLARATIONS
 
 namespace abigail
 {
@@ -17,5 +31,338 @@ namespace abigail
 namespace symtab_reader
 {
 
+/// symtab_filter implementations
+
+/// Determine whether a symbol is matching the filter criteria of this filter
+/// object. In terms of a filter functionality, you would _not_ filter out
+/// this symbol if it passes this (i.e. returns true).
+///
+/// @param symbol The Elf symbol under test.
+///
+/// @return whether the symbol matches all relevant / required criteria
+bool
+symtab_filter::matches(const elf_symbol& symbol) const
+{
+  if (functions_ && *functions_ != symbol.is_function())
+    return false;
+  if (variables_ && *variables_ != symbol.is_variable())
+    return false;
+  if (public_symbols_ && *public_symbols_ != symbol.is_public())
+    return false;
+  if (undefined_symbols_ && *undefined_symbols_ == symbol.is_defined())
+    return false;
+  if (kernel_symbols_ && *kernel_symbols_ != symbol.is_in_ksymtab())
+    return false;
+
+  return true;
+}
+
+/// symtab implementations
+
+/// Obtain a suitable default filter for iterating this symtab object.
+///
+/// The symtab_filter obtained is populated with some sensible default
+/// settings, such as public_symbols(true) and kernel_symbols(true) if the
+/// binary has been identified as Linux Kernel binary.
+///
+/// @return a symtab_filter with sensible populated defaults
+symtab_filter
+symtab::make_filter() const
+{
+  symtab_filter filter;
+  filter.set_public_symbols();
+  if (is_kernel_binary_)
+    filter.set_kernel_symbols();
+  return filter;
+}
+
+/// Get a vector of symbols that are associated with a certain name
+///
+/// @param name the name the symbols need to match
+///
+/// @return a vector of symbols, empty if no matching symbols have been found
+const elf_symbols&
+symtab::lookup_symbol(const std::string& name) const
+{
+  static const elf_symbols empty_result;
+  const auto it = name_symbol_map_.find(name);
+  if (it != name_symbol_map_.end())
+      return it->second;
+  return empty_result;
+}
+
+/// Lookup a symbol by its address
+///
+/// @param symbol_addr the starting address of the symbol
+///
+/// @return a symbol if found, else an empty sptr
+const elf_symbol_sptr&
+symtab::lookup_symbol(GElf_Addr symbol_addr) const
+{
+  static const elf_symbol_sptr empty_result;
+  const auto it = addr_symbol_map_.find(symbol_addr);
+  if (it != addr_symbol_map_.end())
+      return it->second;
+  return empty_result;
+}
+
+/// A symbol sorting functor.
+static struct
+{
+  bool
+  operator()(const elf_symbol_sptr& left, const elf_symbol_sptr& right)
+  { return left->get_id_string() < right->get_id_string(); }
+} symbol_sort;
+
+/// Construct a symtab object and instantiate from an ELF handle. Also pass
+/// in an ir::environment handle to interact with the context we are living
+/// in. If specified, the symbol_predicate will be respected when creating
+/// the full vector of symbols.
+symtab_ptr
+symtab::load(Elf*	      elf_handle,
+	     ir::environment* env,
+	     symbol_predicate is_suppressed)
+{
+  ABG_ASSERT(elf_handle);
+  ABG_ASSERT(env);
+
+  symtab_ptr result(new symtab);
+  if (!result->load_(elf_handle, env, is_suppressed))
+    return {};
+
+  return result;
+}
+
+/// Construct a symtab object from existing name->symbol lookup maps.
+/// They were possibly read from a different representation (XML maybe).
+symtab_ptr
+symtab::load(string_elf_symbols_map_sptr function_symbol_map,
+	     string_elf_symbols_map_sptr variables_symbol_map)
+{
+  symtab_ptr result(new symtab);
+  if (!result->load_(function_symbol_map, variables_symbol_map))
+    return {};
+
+  return result;
+}
+
+symtab::symtab() : is_kernel_binary_(false), has_ksymtab_entries_(false) {}
+
+/// Load the symtab representation from an Elf binary presented to us by an
+/// Elf* handle.
+///
+/// This method iterates over the entries of .symtab and collects all
+/// interesting symbols (functions and variables).
+///
+/// In case of a Linux Kernel binary, it also collects information about the
+/// symbols exported via EXPORT_SYMBOL in the Kernel that would then end up
+/// having a corresponding __ksymtab entry.
+///
+/// Symbols that are suppressed will be omitted from the symbols_ vector, but
+/// still be discoverable through the name->symbol and addr->symbol lookup
+/// maps.
+bool
+symtab::load_(Elf*	       elf_handle,
+	      ir::environment* env,
+	      symbol_predicate is_suppressed)
+{
+
+  Elf_Scn* symtab_section = elf_helpers::find_symbol_table_section(elf_handle);
+  if (!symtab_section)
+    {
+      std::cerr << "No symbol table found: Skipping symtab load.\n";
+      return false;
+    }
+
+  GElf_Shdr symtab_sheader;
+  gelf_getshdr(symtab_section, &symtab_sheader);
+
+  // check for bogus section header
+  if (symtab_sheader.sh_entsize == 0)
+    {
+      std::cerr << "Invalid symtab header found: Skipping symtab load.\n";
+      return false;
+    }
+
+  const size_t number_syms =
+      symtab_sheader.sh_size / symtab_sheader.sh_entsize;
+
+  Elf_Data* symtab = elf_getdata(symtab_section, 0);
+  if (!symtab)
+    {
+      std::cerr << "Could not load elf symtab: Skipping symtab load.\n";
+      return false;
+    }
+
+  const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
+  std::unordered_set<std::string> exported_kernel_symbols;
+
+  for (size_t i = 0; i < number_syms; ++i)
+    {
+      GElf_Sym *sym, sym_mem;
+      sym = gelf_getsym(symtab, i, &sym_mem);
+      if (!sym)
+	{
+	  std::cerr << "Could not load symbol with index " << i
+		    << ": Skipping symtab load.\n";
+	  return false;
+	}
+
+      const char* const name_str =
+	  elf_strptr(elf_handle, symtab_sheader.sh_link, sym->st_name);
+
+      // no name, no game
+      if (!name_str)
+	continue;
+
+      const std::string name = name_str;
+      if (name.empty())
+	continue;
+
+      // Handle ksymtab entries. Every symbol entry that starts with __ksymtab_
+      // indicates that the symbol in question is exported through ksymtab. We
+      // do not know whether this is ksymtab_gpl or ksymtab, but that is good
+      // enough for now.
+      //
+      // We could follow up with this entry:
+      //
+      // symbol_value -> ksymtab_entry in either ksymtab_gpl or ksymtab
+      //              -> addr/name/namespace (in case of PREL32: offset)
+      //
+      // That way we could also detect ksymtab<>ksymtab_gpl changes or changes
+      // of the symbol namespace.
+      //
+      // As of now this lookup is fragile, as occasionally ksymtabs are empty
+      // (seen so far for kernel modules and LTO builds). Hence we stick to the
+      // fairly safe assumption that ksymtab exported entries are having an
+      // appearence as __ksymtab_<symbol> in the symtab.
+      if (is_kernel && name.rfind("__ksymtab_", 0) == 0)
+	{
+	  ABG_ASSERT(exported_kernel_symbols.insert(name.substr(10)).second);
+	  continue;
+	}
+
+      // filter out uninteresting entries and only keep functions/variables for
+      // now. The rest might be interesting in the future though.
+      const int sym_type = GELF_ST_TYPE(sym->st_info);
+      if (!(sym_type == STT_FUNC
+	    || sym_type == STT_GNU_IFUNC
+	    // If the symbol is for an OBJECT, the index of the
+	    // section it refers to cannot be absolute.
+	    // Otherwise that OBJECT is not a variable.
+	    || (sym_type == STT_OBJECT && sym->st_shndx != SHN_ABS)
+	    || sym_type == STT_TLS))
+	continue;
+
+      const bool sym_is_defined = sym->st_shndx != SHN_UNDEF;
+      // this occurs in relocatable files.
+      const bool sym_is_common = sym->st_shndx == SHN_COMMON;
+
+      elf_symbol::version ver;
+      elf_helpers::get_version_for_symbol(elf_handle, i, sym_is_defined, ver);
+
+      const elf_symbol_sptr& symbol_sptr = elf_symbol::create(
+	  env, i, sym->st_size, name,
+	  elf_helpers::stt_to_elf_symbol_type(GELF_ST_TYPE(sym->st_info)),
+	  elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)),
+	  sym_is_defined, sym_is_common, ver,
+	  elf_helpers::stv_to_elf_symbol_visibility(
+	      GELF_ST_VISIBILITY(sym->st_other)),
+	  false); // TODO: is_linux_strings_cstr
+
+      // We do not take suppressed symbols into our symbol vector to avoid
+      // accidental leakage. But we ensure supressed symbols are otherwise set
+      // up for lookup.
+      if (!(is_suppressed && is_suppressed(symbol_sptr)))
+	// add to the symbol vector
+	symbols_.push_back(symbol_sptr);
+      else
+	symbol_sptr->set_is_suppressed(true);
+
+      // add to the name->symbol lookup
+      name_symbol_map_[name].push_back(symbol_sptr);
+
+      // add to the addr->symbol lookup
+      if (symbol_sptr->is_common_symbol())
+	{
+	  const auto it = name_symbol_map_.find(name);
+	  ABG_ASSERT(it != name_symbol_map_.end());
+	  const elf_symbols& common_sym_instances = it->second;
+	  ABG_ASSERT(!common_sym_instances.empty());
+	  if (common_sym_instances.size() > 1)
+	    {
+	      elf_symbol_sptr main_common_sym = common_sym_instances[0];
+	      ABG_ASSERT(main_common_sym->get_name() == name);
+	      ABG_ASSERT(main_common_sym->is_common_symbol());
+	      ABG_ASSERT(symbol_sptr.get() != main_common_sym.get());
+	      main_common_sym->add_common_instance(symbol_sptr);
+	    }
+	}
+      else if (symbol_sptr->is_defined())
+	{
+	  const GElf_Addr symbol_value =
+	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
+								    sym);
+
+	  const auto result =
+	    addr_symbol_map_.emplace(symbol_value, symbol_sptr);
+	  if (!result.second)
+	    result.first->second->get_main_symbol()->add_alias(symbol_sptr);
+	}
+    }
+
+  is_kernel_binary_ = elf_helpers::is_linux_kernel(elf_handle);
+
+  // Now apply the ksymtab_exported attribute to the symbols we collected.
+  for (const auto& symbol : exported_kernel_symbols)
+    {
+      const auto r = name_symbol_map_.find(symbol);
+      if (r == name_symbol_map_.end())
+	continue;
+
+      for (const auto& elf_symbol : r->second)
+	  if (elf_symbol->is_public())
+	    elf_symbol->set_is_in_ksymtab(true);
+      has_ksymtab_entries_ = true;
+    }
+
+  // sort the symbols for deterministic output
+  std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
+
+  return true;
+}
+
+/// Load the symtab representation from a function/variable lookup map pair.
+///
+/// This method assumes the lookup maps are correct and sets up the data
+/// vector as well as the name->symbol lookup map. The addr->symbol lookup
+/// map cannot be set up in this case.
+bool
+symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
+	     string_elf_symbols_map_sptr variables_symbol_map)
+
+{
+  if (function_symbol_map)
+    for (const auto& symbol_map_entry : *function_symbol_map)
+      {
+	symbols_.insert(symbols_.end(), symbol_map_entry.second.begin(),
+			symbol_map_entry.second.end());
+	ABG_ASSERT(name_symbol_map_.insert(symbol_map_entry).second);
+      }
+
+  if (variables_symbol_map)
+    for (const auto& symbol_map_entry : *variables_symbol_map)
+      {
+	symbols_.insert(symbols_.end(), symbol_map_entry.second.begin(),
+			symbol_map_entry.second.end());
+	ABG_ASSERT(name_symbol_map_.insert(symbol_map_entry).second);
+      }
+
+  // sort the symbols for deterministic output
+  std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
+
+  return true;
+}
+
 } // end namespace symtab_reader
 } // end namespace abigail
diff --git a/src/abg-symtab-reader.h b/src/abg-symtab-reader.h
index a929166b83ef..4c5e3b85c22d 100644
--- a/src/abg-symtab-reader.h
+++ b/src/abg-symtab-reader.h
@@ -12,12 +12,287 @@
 #ifndef __ABG_SYMTAB_READER_H__
 #define __ABG_SYMTAB_READER_H__
 
+#include <gelf.h>
+
+#include <functional>
+#include <iterator>
+#include <memory>
+#include <unordered_map>
+#include <vector>
+
+#include "abg-cxx-compat.h"  // for abg_compat::optional
+#include "abg-ir.h"
+
 namespace abigail
 {
-
 namespace symtab_reader
 {
 
+/// The symtab filter is the object passed to the symtab object in order to
+/// iterate over the symbols in the symtab while applying filters.
+///
+/// The general idea is that it consists of a set of optionally enforced flags,
+/// such as 'functions' or 'variables'. If not set, those are not filtered for,
+/// neither inclusive nor exclusive. If set they are all ANDed together.
+class symtab_filter
+{
+public:
+  // Default constructor disabling all features.
+  symtab_filter() {}
+
+  bool
+  matches(const elf_symbol& symbol) const;
+
+  void
+  set_functions(bool new_value = true)
+  { functions_ = new_value; };
+
+  void
+  set_variables(bool new_value = true)
+  { variables_ = new_value; };
+
+  void
+  set_public_symbols(bool new_value = true)
+  { public_symbols_ = new_value; };
+
+  void
+  set_undefined_symbols(bool new_value = true)
+  { undefined_symbols_ = new_value; };
+
+  void
+  set_kernel_symbols(bool new_value = true)
+  { kernel_symbols_ = new_value; };
+
+private:
+  // The symbol is a function (FUNC)
+  abg_compat::optional<bool> functions_;
+
+  // The symbol is a variables (OBJECT)
+  abg_compat::optional<bool> variables_;
+
+  // The symbol is publicly accessible (global/weak with default/protected
+  // visibility)
+  abg_compat::optional<bool> public_symbols_;
+
+  // The symbols is not defined (declared)
+  abg_compat::optional<bool> undefined_symbols_;
+
+  // The symbol is listed in the ksymtab (for Linux Kernel binaries).
+  abg_compat::optional<bool> kernel_symbols_;
+};
+
+/// Base iterator for our custom iterator based on whatever the const_iterator
+/// is for a vector of symbols.
+/// As of writing this, std::vector<elf_symbol_sptr>::const_iterator.
+typedef elf_symbols::const_iterator base_iterator;
+
+/// An iterator to walk a vector of elf_symbols filtered by symtab_filter.
+///
+/// The implementation inherits all properties from the vector's
+/// const_iterator, but intercepts where necessary to allow effective
+/// filtering. This makes it a STL compatible iterator for general purpose
+/// usage.
+class symtab_iterator : public base_iterator
+{
+public:
+  typedef base_iterator::value_type	 value_type;
+  typedef base_iterator::reference	 reference;
+  typedef base_iterator::pointer	 pointer;
+  typedef base_iterator::difference_type difference_type;
+  typedef std::forward_iterator_tag	 iterator_category;
+
+  /// Construct the iterator based on a pair of underlying iterators and a
+  /// symtab_filter object. Immediately fast forward to the next element that
+  /// matches the criteria (if any).
+  symtab_iterator(base_iterator	       begin,
+		  base_iterator	       end,
+		  const symtab_filter& filter = symtab_filter())
+    : base_iterator(begin), end_(end), filter_(filter)
+  { skip_to_next(); }
+
+  /// Pre-increment operator to advance to the next matching element.
+  symtab_iterator&
+  operator++()
+  {
+    base_iterator::operator++();
+    skip_to_next();
+    return *this;
+  }
+
+  /// Post-increment operator to advance to the next matching element.
+  symtab_iterator
+  operator++(int)
+  {
+    symtab_iterator result(*this);
+    ++(*this);
+    return result;
+  }
+
+private:
+  /// The end of the underlying iterator.
+  const base_iterator end_;
+
+  /// The symtab_filter used to determine when to advance.
+  const symtab_filter& filter_;
+
+  /// Skip to the next element that matches the filter criteria (if any). Hold
+  /// off when reaching the end of the underlying iterator.
+  void
+  skip_to_next()
+  {
+    while (*this != end_ && !filter_.matches(***this))
+      ++(*this);
+  }
+};
+
+/// Convenience declaration of a unique_ptr<symtab>
+class symtab;
+typedef std::unique_ptr<symtab> symtab_ptr;
+
+/// symtab is the actual data container of the symtab_reader implementation.
+///
+/// The symtab is instantiated either via an Elf handle (from binary) or from a
+/// set of existing symbol maps (usually when instantiated from XML). It will
+/// then discover the symtab, possibly the ksymtab (for Linux Kernel binaries)
+/// and setup the data containers and lookup maps for later perusal.
+///
+/// The symtab is supposed to be used in a const context as all information is
+/// already computed at construction time. Symbols are stored sorted to allow
+/// deterministic reading of the entries.
+///
+/// An example use of the symtab class is
+///
+/// const auto symtab    = symtab::load(elf_handle, env);
+/// symtab_filter filter = symtab->make_filter();
+/// filter.set_public_symbols();
+/// filter.set_functions();
+///
+/// for (const auto& symbol : filtered_symtab(*symtab, filter))
+///   {
+///     std::cout << symbol->get_name() << "\n";
+///   }
+///
+/// This uses the filtered_symtab proxy object to capture the filter.
+class symtab
+{
+public:
+  typedef std::function<bool(const elf_symbol_sptr&)> symbol_predicate;
+
+  /// Indicate whether any (kernel) symbols have been seen at construction.
+  ///
+  /// @return true if there are symbols detected earlier.
+  bool
+  has_symbols() const
+  { return is_kernel_binary_ ? has_ksymtab_entries_ : !symbols_.empty(); }
+
+  symtab_filter
+  make_filter() const;
+
+  /// The (only) iterator type we offer is a const_iterator implemented by the
+  /// symtab_iterator.
+  typedef symtab_iterator const_iterator;
+
+  /// Obtain an iterator to the beginning of the symtab according to the filter
+  /// criteria. Whenever this iterator advances, it skips elements that do not
+  /// match the filter criteria.
+  ///
+  /// @param filter the symtab_filter to match symbols against
+  ///
+  /// @return a filtering const_iterator of the underlying type
+  const_iterator
+  begin(const symtab_filter& filter) const
+  { return symtab_iterator(symbols_.begin(), symbols_.end(), filter); }
+
+  /// Obtain an iterator to the end of the symtab.
+  ///
+  /// @return an end iterator
+  const_iterator
+  end() const
+  { return symtab_iterator(symbols_.end(), symbols_.end()); }
+
+  const elf_symbols&
+  lookup_symbol(const std::string& name) const;
+
+  const elf_symbol_sptr&
+  lookup_symbol(GElf_Addr symbol_addr) const;
+
+  static symtab_ptr
+  load(Elf*		elf_handle,
+       ir::environment* env,
+       symbol_predicate is_suppressed = NULL);
+
+  static symtab_ptr
+  load(string_elf_symbols_map_sptr function_symbol_map,
+       string_elf_symbols_map_sptr variables_symbol_map);
+
+private:
+  /// Default constructor. Private to enforce creation by factory methods.
+  symtab();
+
+  /// The vector of symbols we discovered.
+  elf_symbols symbols_;
+
+  /// Whether this is a Linux Kernel binary
+  bool is_kernel_binary_;
+
+  /// Whether this kernel_binary has ksymtab entries
+  ///
+  /// A kernel module might not have a ksymtab if it does not export any
+  /// symbols. In order to quickly decide whether the symbol table is empty, we
+  /// remember whether we ever saw ksymtab entries.
+  bool has_ksymtab_entries_;
+
+  /// Lookup map name->symbol(s)
+  typedef std::unordered_map<std::string, std::vector<elf_symbol_sptr>>
+		       name_symbol_map_type;
+  name_symbol_map_type name_symbol_map_;
+
+  /// Lookup map addr->symbol
+  typedef std::unordered_map<GElf_Addr, elf_symbol_sptr> addr_symbol_map_type;
+  addr_symbol_map_type addr_symbol_map_;
+
+  bool
+  load_(Elf* elf_handle, ir::environment* env, symbol_predicate is_suppressed);
+
+  bool
+  load_(string_elf_symbols_map_sptr function_symbol_map,
+       string_elf_symbols_map_sptr variables_symbol_map);
+};
+
+/// Helper class to allow range-for loops on symtabs for C++11 and later code.
+/// It serves as a proxy for the symtab iterator and provides a begin() method
+/// without arguments, as required for range-for loops (and possibly other
+/// iterator based transformations).
+///
+/// Example usage:
+///
+///   for (const auto& symbol : filtered_symtab(tab, filter))
+///     {
+///       std::cout << symbol->get_name() << "\n";
+///     }
+///
+class filtered_symtab
+{
+  const symtab&	      tab_;
+  const symtab_filter filter_;
+
+public:
+  /// Construct the proxy object keeping references to the underlying symtab
+  /// and the filter object.
+  filtered_symtab(const symtab& tab, const symtab_filter& filter)
+    : tab_(tab), filter_(filter) { }
+
+  /// Pass through symtab.begin(), but also pass on the filter.
+  symtab::const_iterator
+  begin() const
+  { return tab_.begin(filter_); }
+
+  /// Pass through symtab.end().
+  symtab::const_iterator
+  end() const
+  { return tab_.end(); }
+};
+
 } // end namespace symtab_reader
 } // end namespace abigail
 
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 06/20] Integrate new symtab reader into corpus and read_context
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (4 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 05/20] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-12 15:04     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 07/20] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
                     ` (14 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

While reading the corpus in the read_context, also load the new type
symtab object side-by-side and set it accordingly in the resulting
corpus. This is still side by side and passive code that gets active in
the following changes. This is applicable for the dwarf reader as well
as for the reader that consumes XML.

	* include/abg-corpus.h (corpus::set_symtab): New method declaration.
	  (corpus::get_symtab): New method declaration.
	* include/abg-fwd.h (symtab_reader::symtab_sptr): New forward
	  declaration.
	* src/abg-corpus-priv.h (corpus::priv::symtab_): New data member.
	* src/abg-corpus.cc
	  (corpus::set_symtab): Likewise.
	  (corpus::get_symtab): Likewise.
	* src/abg-dwarf-reader.cc (read_context::symtab_): New data member.
	  (read_context::initialize): reset symtab_ as well
	  (read_context::symtab): new method that loads a symtab on
	  first access and returns it.
	  (read_debug_info_into_corpus): also set the new symtab object
	  on the current corpus.
	  (read_corpus_from_elf): Also determine (i.e. load) the new
	  symtab object and contribute to the load status.
	* src/abg-reader.cc (read_corpus_from_input): also set the new
	  type symtab when reading from xml.
	* tests/test-symtab.cc: Add test assertions.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-corpus.h                          |   6 +++++
 include/abg-fwd.h                             |   8 ++++++
 src/abg-corpus-priv.h                         |   2 ++
 src/abg-corpus.cc                             |   9 +++++++
 src/abg-dwarf-reader.cc                       |  25 ++++++++++++++++++
 src/abg-reader.cc                             |   3 +++
 tests/data/test-symtab/basic/no_debug_info.c  |   2 +-
 tests/data/test-symtab/basic/no_debug_info.so | Bin 15360 -> 15544 bytes
 tests/test-symtab.cc                          |  15 ++++-------
 9 files changed, 59 insertions(+), 11 deletions(-)

diff --git a/include/abg-corpus.h b/include/abg-corpus.h
index e60b5013473b..425702182056 100644
--- a/include/abg-corpus.h
+++ b/include/abg-corpus.h
@@ -152,6 +152,12 @@ public:
   bool
   operator==(const corpus&) const;
 
+  void
+  set_symtab(symtab_reader::symtab_sptr);
+
+  const symtab_reader::symtab_sptr&
+  get_symtab() const;
+
   void
   set_fun_symbol_map(string_elf_symbols_map_sptr);
 
diff --git a/include/abg-fwd.h b/include/abg-fwd.h
index bb839fe76315..76df1b51dae7 100644
--- a/include/abg-fwd.h
+++ b/include/abg-fwd.h
@@ -1375,6 +1375,14 @@ typedef vector<suppression_sptr> suppressions_type;
 
 } // end namespace suppr
 
+namespace symtab_reader
+{
+
+class symtab;
+typedef std::shared_ptr<symtab> symtab_sptr;
+
+} // end namespace symtab_reader
+
 void
 dump(const decl_base_sptr, std::ostream&);
 
diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index a4a97adfd00a..290e19c60e67 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -17,6 +17,7 @@
 #include "abg-internal.h"
 #include "abg-regex.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 
 namespace abigail
 {
@@ -684,6 +685,7 @@ struct corpus::priv
   string_elf_symbols_map_sptr			undefined_var_symbol_map;
   elf_symbols					sorted_var_symbols;
   elf_symbols					sorted_undefined_var_symbols;
+  symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
   elf_symbols					sorted_fun_symbols;
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 2c37e253cf88..0d5849ddac5d 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -23,6 +23,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-ir.h"
 #include "abg-reader.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 #include "abg-tools-utils.h"
 #include "abg-writer.h"
 
@@ -850,6 +851,14 @@ corpus::operator==(const corpus& other) const
 	  && j == other.get_translation_units().end());
 }
 
+void
+corpus::set_symtab(symtab_reader::symtab_sptr symtab)
+{priv_->symtab_ = symtab;}
+
+const symtab_reader::symtab_sptr&
+corpus::get_symtab() const
+{ return priv_->symtab_; }
+
 /// Setter of the function symbols map.
 ///
 /// @param map a shared pointer to the new function symbols map.
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 4b39e966e385..9f533e64959c 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -44,6 +44,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 
 #include "abg-dwarf-reader.h"
 #include "abg-sptr-utils.h"
+#include "abg-symtab-reader.h"
 #include "abg-tools-utils.h"
 
 ABG_END_EXPORT_DECLARATIONS
@@ -2259,6 +2260,9 @@ public:
   bool				drop_undefined_syms_;
   read_context();
 
+private:
+  mutable symtab_reader::symtab_sptr symtab_;
+
 public:
 
   /// Constructor of read_context.
@@ -2408,6 +2412,8 @@ public:
     dt_soname_.clear();
     elf_architecture_.clear();
 
+    symtab_.reset();
+
     clear_per_translation_unit_data();
 
     memset(&offline_callbacks_, 0, sizeof(offline_callbacks_));
@@ -5870,6 +5876,21 @@ public:
     return symbol;
   }
 
+  const symtab_reader::symtab_sptr&
+  symtab() const
+  {
+    if (!symtab_)
+      symtab_ = symtab_reader::symtab::load(
+	elf_handle(), options_.env, [&](const elf_symbol_sptr& symbol) {
+	  return is_elf_symbol_suppressed(symbol);
+	});
+
+    if (!symtab_)
+      std::cerr << "Symbol table of '" << elf_path_
+		<< "' could not be loaded\n";
+    return symtab_;
+  }
+
   /// Getter for a pointer to the map that associates the address of
   /// an entry point of a function with the symbol of that function.
   ///
@@ -16012,6 +16033,7 @@ read_debug_info_into_corpus(read_context& ctxt)
     group->add_corpus(ctxt.current_corpus());
 
   // Set symbols information to the corpus.
+  ctxt.current_corpus()->set_symtab(ctxt.symtab());
   if (!get_ignore_symbol_table(ctxt))
     {
       if (ctxt.load_in_linux_kernel_mode()
@@ -17345,6 +17367,9 @@ read_corpus_from_elf(read_context& ctxt, status& status)
 	status |= STATUS_NO_SYMBOLS_FOUND;
     }
 
+  if (!ctxt.symtab() || !ctxt.symtab()->has_symbols())
+    status |= STATUS_NO_SYMBOLS_FOUND;
+
   if (// If no elf symbol was found ...
       status & STATUS_NO_SYMBOLS_FOUND
       // ... or if debug info was found but not the required alternate
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 1fb0cf7d1074..68b19cf4b65b 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -33,6 +33,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 #include "abg-libxml-utils.h"
 #include "abg-reader.h"
 #include "abg-corpus.h"
+#include "abg-symtab-reader.h"
 
 #ifdef WITH_ZIP_ARCHIVE
 #include "abg-libzip-utils.h"
@@ -1907,6 +1908,8 @@ read_corpus_from_input(read_context& ctxt)
       // Note that it's possible that both fn_sym_db and var_sym_db
       // are nil, due to potential suppression specifications.  That's
       // fine.
+      corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db));
+
       if (fn_sym_db)
 	{
 	  corp.set_fun_symbol_map(fn_sym_db);
diff --git a/tests/data/test-symtab/basic/no_debug_info.c b/tests/data/test-symtab/basic/no_debug_info.c
index 5bb380ba0db8..8ac09016eb4d 100644
--- a/tests/data/test-symtab/basic/no_debug_info.c
+++ b/tests/data/test-symtab/basic/no_debug_info.c
@@ -1 +1 @@
-// empty!
+void exported_function(){}
diff --git a/tests/data/test-symtab/basic/no_debug_info.so b/tests/data/test-symtab/basic/no_debug_info.so
index 827c1eee3e4e8f326af7e360ea444627ee59bee6..0b2310196a2a3a67369f80eb29e9ecefc22dc704 100755
GIT binary patch
delta 1147
zcmZWoOH31C5T3tV9tB!<%cHzPw**bm(Cq`-Vl{1*M`I!w5)LMqVl09tfFOpVCM?DW
zhJ&qhFdTd|AsW4SASPgpk#I5|(39dxV>oy)f(G?Kg0tN&N}SF7-_HE=`e*)Mj?a%L
z?3Q^iY*PsQV1N*mfh8HV<=OS>j$NNT<1l0~Rmw`HB*SdRXEwQVUGVEvX&Z5vSu2jN
zj>ggf#Ek7W;t0FD|IOD}WzFr0h4_JvUAv{Vajf89D27U`EMg^FHZg!mpGu0p>x*?7
zQ>+SmbUi{BDa=&z2Co|A;DWAO=#8Hp8X4`4MNgd{JUM!LXmGBSyIgRK-^l5T+*nN<
zUz+>P>kB7XB^RhAKaN;j+u8~dItlv;Hwa}yg^E=GcA*nkoM)8<Ik^ccPw}lHe*bN2
zE1loOx0=ch7v_)U$`Gsw?D5prD6WcsGx1BZ%T*LARi~Z1Nf@AHIf^oD;;-or8M6;k
zhB+pDHlpmXvrT;D=y3I9nymCdp)#dxBDF^VQ<?odRSkVuCrM1kW6}q+$5kgbIouAH
z=ytlDPLI<|9kga~z`&1_&Js=sJ%koErAU?f?ckYMY2auqGQM(-Q9)ss#O!GE6mc9F
zamZ!iOfZEhmxU#8*i}-_!^hyizUn^*0xpxS8Oo5kElk9>t`c1_;F{ZxA$L0~!keTv
z;X}8?jQGyo#udPQN>k4YvBP62H-i}38TK`a49qy;sc!+ur$O%AUnfxqd9azeAlmLP
z`e7gdgfxwcMqKw;=yK6o?xh*;xLg_2NZKZbwuYZVw5`1>+7gMjc7~6%L?g|eSkl<~
z{{_TlT{XrVujr%wu@U^<IE}KGH~f7sGhUyd4Oqik{N$AcZLAt5(B_i_ZTK4Y;R&B)
zkTX|8#u;B9dyLF~k3GkfUovRN-^3Mv8{YSdwu^KaIv+JhCA+v2FQKi;%C2I#DaevI
zN$VY4Y?@#XFuX6wp5P>{PjQjfXUGCkqd)!B0ZJ*19R~t?4RV7T@f@ZCKEsbjRa&A-
Gt$zTQCEAJr

delta 769
zcmYjPO=uHA6rPt&tQ(Uy+mLRmfhLHOs?Gl7XR~cF5sGcW9~6V+lp+dMywrnjJTz(j
zJKFexS`cbZA_yKrK~Igh9PLT;pqCy6Jy>W((An&6>0{=7^SycV-kUe`zFJ>cNy^0>
z+mj;8vxBV2WH!(!B>Zi`-f0VsTPcyqX4GgZqSra&ZG3qwF^|Js#2gKwL-oYf&gaYe
z@1AET?rp9f>8ssbT)rK#e63L3iG)|dE6)s~LWx*wQCJQ@_0B#GZCklpe?#8BR$O|}
zi+U<aJ9v}2s3n~&J}VHHw!;tDlubF@@9+|a6@{WGD_{Hd{BYb%=_xI)tGdcZ8k;oa
z6Rcveq(%e}OLCNHs>{5rZ6W#aPL=UZy~ay8qbXEJQ;Sd#Ynm+dvK7u`e9{Jl5RXE7
zge3gqJN+!qnG99GJIL2XyB?>D>@26mg4oa%3gD+cDIDUb=d>`+r4JACsHdI!9oXpl
zOQ@w~9{+iIWW>Y#Y=@`ZFI!zNZY=J%GWG{ek4z#G8JUiDb-~i8XTIZ3cA}>;edT=R
z`VBO*5o~22Vm`No?Oa&gds;|_A-S!0F^00CNN&SjT)--~y3gWb37Q_p4<m+-5kfRS
zLoZRyuhBX_dcrtm#zglnJGf*{HYP%tH9|CxU9&*<VU8B)396$tdVyWOZo(WZ&}&q=
mev1!dmEbSuw^|?UIF5~<6!RIo2^UZvH^fI-o2@&A1pWhng`7wL

diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index ffb20a4dec44..ff467d8ad345 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -53,14 +53,9 @@ TEST_CASE("Symtab::Empty", "[symtab, basic]")
   const std::string	     binary = "basic/empty.so";
   corpus_sptr		     corpus_ptr;
   const dwarf_reader::status status = read_corpus(binary, corpus_ptr);
-  REQUIRE(corpus_ptr);
-
-  REQUIRE((status & dwarf_reader::STATUS_OK));
+  REQUIRE(!corpus_ptr);
 
-  // TODO: Those two assertions are currently not met. Empty symtabs are
-  //       currently treated like the error case.
-  // REQUIRE((status & dwarf_reader::STATUS_OK));
-  // REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
+  REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
 }
 
 TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
@@ -70,9 +65,9 @@ TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
   const dwarf_reader::status status = read_corpus(binary, corpus_ptr);
   REQUIRE(corpus_ptr);
 
-  REQUIRE(status
-	  == (dwarf_reader::STATUS_OK
-	      | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
+  REQUIRE(
+    status
+    == (dwarf_reader::STATUS_OK | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
 }
 
 // this value indicates in the following helper method, that we do not want to
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 07/20] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (5 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 06/20] Integrate new symtab reader into corpus and read_context Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-15 10:05     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 08/20] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
                     ` (13 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Make the corresponding members an implementation detail of corpus::priv.
They get computed based on the new symtab whenever they are accessed
first with an atomic instantiation. That simplifies the implementation
and homogenizes the access to functions and variables. Sorting does not
need to be done as the symtab already gives a guarantee for that.

Due to improved alias detection in the new symtab reader, ensure we only
write symbol aliases to ksymtab symbols if having a ksymtab main symbol.

Test data needed to be adjusted as the new symtab reader is stricter in
regards to symbols listed in ksymtab. I.e. init_module is not an
exported symbol in the ksymtab of a kernel module.

	* src/abg-corpus-priv.h (corpus::priv::sorted_var_symbols): make
	  private, mutable and optional.
	  (corpus::sorted_undefined_var_symbols): Likewise.
	  (corpus::sorted_fun_symbols): Likewise.
	  (corpus::sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_fun_symbols): New method declaration.
	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_var_symbols): Likewise.
	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
	* src/abg-corpus.cc
	  (corpus::elf_symbol_comp_functor): Delete struct.
	  (corpus::priv::get_sorted_fun_symbols): New method implementation.
	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::priv::get_sorted_var_symbols): Likewise.
	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
	  (corpus::get_sorted_fun_symbols): Proxy call to corpus::priv.
	  (corpus::get_sorted_undefined_fun_symbols): Likewise.
	  (corpus::get_sorted_var_symbols): Likewise.
	  (corpus::get_sorted_undefined_var_symbols): Likewise.
	* src/abg-writer.cc (write_elf_symbol_aliases): When emitting
	  aliases for a kernel symbol, ensure to only emit exported,
	  public aliases.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: update test
	  data.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-corpus-priv.h                         |  21 +-
 src/abg-corpus.cc                             | 241 +++++++-----------
 src/abg-writer.cc                             |  39 ++-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   3 -
 4 files changed, 135 insertions(+), 169 deletions(-)

diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index 290e19c60e67..282796e1b685 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -683,13 +683,9 @@ struct corpus::priv
   vector<var_decl*>				vars;
   string_elf_symbols_map_sptr			var_symbol_map;
   string_elf_symbols_map_sptr			undefined_var_symbol_map;
-  elf_symbols					sorted_var_symbols;
-  elf_symbols					sorted_undefined_var_symbols;
   symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
-  elf_symbols					sorted_fun_symbols;
-  elf_symbols					sorted_undefined_fun_symbols;
   elf_symbols					unrefed_fun_symbols;
   elf_symbols					unrefed_var_symbols;
   // The type maps contained in this data member are populated if the
@@ -711,6 +707,11 @@ struct corpus::priv
 private:
   priv();
 
+  mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
+  mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+
 public:
   priv(const string &	p,
        environment*	e)
@@ -730,6 +731,18 @@ public:
   const type_maps&
   get_types() const;
 
+  const elf_symbols&
+  get_sorted_fun_symbols() const;
+
+  const elf_symbols&
+  get_sorted_undefined_fun_symbols() const;
+
+  const elf_symbols&
+  get_sorted_var_symbols() const;
+
+  const elf_symbols&
+  get_sorted_undefined_var_symbols() const;
+
   unordered_set<interned_string, hash_interned_string>*
   get_public_types_pretty_representations();
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 0d5849ddac5d..75f897eb72a8 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -438,6 +438,87 @@ const type_maps&
 corpus::priv::get_types() const
 {return types_;}
 
+/// Return a sorted vector of function symbols for this corpus.
+///
+/// Note that the first time this function is called, the symbols are
+/// sorted and cached.  Subsequent invocations of this function return
+/// the cached vector that was built previously.
+///
+/// @return the sorted list of function symbols.
+const elf_symbols&
+corpus::priv::get_sorted_fun_symbols() const
+{
+  if (!sorted_fun_symbols)
+    {
+      auto filter = symtab_->make_filter();
+      filter.set_functions();
+      sorted_fun_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_fun_symbols;
+}
+
+/// Getter for a sorted vector of the function symbols undefined in
+/// this corpus.
+///
+/// @return a vector of the function symbols undefined in this corpus,
+/// sorted by name and then version.
+const elf_symbols&
+corpus::priv::get_sorted_undefined_fun_symbols() const
+{
+  if (!sorted_undefined_fun_symbols)
+    {
+      auto filter = symtab_->make_filter();
+      filter.set_functions();
+      filter.set_undefined_symbols();
+      filter.set_public_symbols(false);
+
+      sorted_undefined_fun_symbols =
+	elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_undefined_fun_symbols;
+}
+
+/// Getter for the sorted vector of variable symbols for this corpus.
+///
+/// Note that the first time this function is called, it computes the
+/// sorted vector, caches the result and returns it.  Subsequent
+/// invocations of this function just return the cached vector.
+///
+/// @return the sorted vector of variable symbols for this corpus.
+const elf_symbols&
+corpus::priv::get_sorted_var_symbols() const
+{
+  if (!sorted_var_symbols)
+    {
+      auto filter = symtab_->make_filter();
+      filter.set_variables();
+
+      sorted_var_symbols = elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_var_symbols;
+}
+
+/// Getter for a sorted vector of the variable symbols undefined in
+/// this corpus.
+///
+/// @return a vector of the variable symbols undefined in this corpus,
+/// sorted by name and then version.
+const elf_symbols&
+corpus::priv::get_sorted_undefined_var_symbols() const
+{
+  if (!sorted_undefined_var_symbols)
+    {
+      auto filter = symtab_->make_filter();
+      filter.set_variables();
+      filter.set_undefined_symbols();
+      filter.set_public_symbols(false);
+
+      sorted_undefined_var_symbols =
+	  elf_symbols(symtab_->begin(filter), symtab_->end());
+    }
+  return *sorted_undefined_var_symbols;
+}
+
 /// Getter of the set of pretty representation of types that are
 /// reachable from public interfaces (global functions and variables).
 ///
@@ -933,104 +1014,21 @@ const string_elf_symbols_map_type&
 corpus::get_undefined_fun_symbol_map() const
 {return *get_undefined_fun_symbol_map_sptr();}
 
-/// Functor to sort instances of @ref elf_symbol.
-struct elf_symbol_comp_functor
-{
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol& l, elf_symbol& r)
-  {return (l.get_id_string() < r.get_id_string());}
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol* l, elf_symbol* r)
-  {return operator()(*l, *r);}
-
-  /// Return true if the first argument is less than the second one.
-  ///
-  /// @param l the first parameter to consider.
-  ///
-  /// @param r the second parameter to consider.
-  ///
-  /// @return true if @p l is less than @p r
-  bool
-  operator()(elf_symbol_sptr l, elf_symbol_sptr r)
-  {return operator()(*l, *r);}
-}; // end struct elf_symbol_comp_functor
-
-/// Return a sorted vector of function symbols for this corpus.
-///
-/// Note that the first time this function is called, the symbols are
-/// sorted and cached.  Subsequent invocations of this function return
-/// the cached vector that was built previously.
-///
-/// @return the sorted list of function symbols.
 const elf_symbols&
 corpus::get_sorted_fun_symbols() const
-{
-  if (priv_->sorted_fun_symbols.empty()
-      && !get_fun_symbol_map().empty())
-    {
-      priv_->sorted_fun_symbols.reserve(get_fun_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_fun_symbol_map().begin();
-	   i != get_fun_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  priv_->sorted_fun_symbols.push_back(*s);
+{ return priv_->get_sorted_fun_symbols(); }
 
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_fun_symbols.begin(),
-		priv_->sorted_fun_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_fun_symbols;
-}
-
-/// Getter for a sorted vector of the function symbols undefined in
-/// this corpus.
-///
-/// @return a vector of the function symbols undefined in this corpus,
-/// sorted by name and then version.
 const elf_symbols&
 corpus::get_sorted_undefined_fun_symbols() const
-{
-  if (priv_->sorted_undefined_fun_symbols.empty()
-      && !get_undefined_fun_symbol_map().empty())
-    {
-      priv_->sorted_undefined_fun_symbols.reserve
-	(get_undefined_fun_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_undefined_fun_symbol_map().begin();
-	   i != get_undefined_fun_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  priv_->sorted_undefined_fun_symbols.push_back(*s);
+{ return priv_->get_sorted_undefined_fun_symbols(); }
 
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_undefined_fun_symbols.begin(),
-		priv_->sorted_undefined_fun_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_undefined_fun_symbols;
-}
+const elf_symbols&
+corpus::get_sorted_var_symbols() const
+{ return priv_->get_sorted_var_symbols(); }
+
+const elf_symbols&
+corpus::get_sorted_undefined_var_symbols() const
+{ return priv_->get_sorted_undefined_var_symbols(); }
 
 /// Getter for the variable symbols map.
 ///
@@ -1070,65 +1068,6 @@ const string_elf_symbols_map_type&
 corpus::get_undefined_var_symbol_map() const
 {return *get_undefined_var_symbol_map_sptr();}
 
-/// Getter for the sorted vector of variable symbols for this corpus.
-///
-/// Note that the first time this function is called, it computes the
-/// sorted vector, caches the result and returns it.  Subsequent
-/// invocations of this function just return the cached vector.
-///
-/// @return the sorted vector of variable symbols for this corpus.
-const elf_symbols&
-corpus::get_sorted_var_symbols() const
-{
-  if (priv_->sorted_var_symbols.empty()
-      && !get_var_symbol_map().empty())
-    {
-      priv_->sorted_var_symbols.reserve(get_var_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_var_symbol_map().begin();
-	   i != get_var_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end(); ++s)
-	  priv_->sorted_var_symbols.push_back(*s);
-
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_var_symbols.begin(),
-		priv_->sorted_var_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_var_symbols;
-}
-
-/// Getter for a sorted vector of the variable symbols undefined in
-/// this corpus.
-///
-/// @return a vector of the variable symbols undefined in this corpus,
-/// sorted by name and then version.
-const elf_symbols&
-corpus::get_sorted_undefined_var_symbols() const
-{
-  if (priv_->sorted_undefined_var_symbols.empty()
-      && !get_undefined_var_symbol_map().empty())
-    {
-      priv_->sorted_undefined_var_symbols.reserve
-	(get_undefined_var_symbol_map().size());
-      for (string_elf_symbols_map_type::const_iterator i =
-	     get_undefined_var_symbol_map().begin();
-	   i != get_undefined_var_symbol_map().end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end(); ++s)
-	  priv_->sorted_undefined_var_symbols.push_back(*s);
-
-      elf_symbol_comp_functor comp;
-      std::sort(priv_->sorted_undefined_var_symbols.begin(),
-		priv_->sorted_undefined_var_symbols.end(),
-		comp);
-    }
-  return priv_->sorted_undefined_var_symbols;
-}
-
 /// Look in the function symbols map for a symbol with a given name.
 ///
 /// @param n the name of the symbol to look for.
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index d55bbbc166d5..d4d5e5531894 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -1678,26 +1678,43 @@ write_elf_symbol_visibility(elf_symbol::visibility v, ostream& o)
 ///
 /// @return true upon successful completion.
 static bool
-write_elf_symbol_aliases(const elf_symbol& sym, ostream& o)
+write_elf_symbol_aliases(const elf_symbol& sym, ostream& out)
 {
   if (!sym.is_main_symbol() || !sym.has_aliases())
     return false;
 
-  bool emitted = false;
-  o << " alias='";
-  for (elf_symbol_sptr s = sym.get_next_alias();
-       !s->is_main_symbol();
+
+  std::vector<std::string> aliases;
+  for (elf_symbol_sptr s = sym.get_next_alias(); s && !s->is_main_symbol();
        s = s->get_next_alias())
     {
-      if (s->get_next_alias()->is_main_symbol())
-	o << s->get_id_string() << "'";
-      else
-	o << s->get_id_string() << ",";
+      if (!s->is_public())
+	continue;
+
+      if (s->is_suppressed())
+	continue;
+
+      if (sym.is_in_ksymtab() != s->is_in_ksymtab())
+	continue;
 
-      emitted = true;
+      aliases.push_back(s->get_id_string());
     }
 
-  return emitted;
+  if (!aliases.empty())
+    {
+      out << " alias='";
+      std::string separator;
+      for (const auto& alias : aliases)
+	{
+	  out << separator << alias;
+	  separator = ",";
+	}
+
+      out << "'";
+      return true;
+    }
+
+  return false;
 }
 
 /// Write an XML attribute for the reference to a symbol for the
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index 44e2e608260b..1167e5aa478a 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -2,8 +2,6 @@
   <elf-function-symbols>
     <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='cleanup_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='init_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -40,7 +38,6 @@
     <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <elf-variable-symbols>
-    <elf-symbol name='__this_module' size='896' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
     <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-1'/>
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 08/20] corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (6 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 07/20] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-15 12:06     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 09/20] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
                     ` (12 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Make the corresponding members an implementation detail of corpus::priv.
They get computed based on the new symtab whenever they are accessed
first with an atomic instantiation. That simplifies the implementation
and homogenizes the access to functions and variables. Sorting does not
need to be done as the symtab already gives a guarantee for that.

        * src/abg-corpus-priv.h (corpus::priv::unrefed_var_symbols): make
          private, mutable and optional.
          (corpus::unrefed_fun_symbols): Likewise.
          (corpus::priv::get_unreferenced_function_symbols): New method declaration.
          (corpus::priv::get_unreferenced_variable_symbols): Likewise.
        * src/abg-corpus.cc
          (corpus::priv::build_unreferenced_symbols_tables): Delete method.
          (corpus::priv::get_unreferenced_function_symbols): New method implementation.
          (corpus::priv::get_unreferenced_variable_symbols): Likewise.
          (corpus::get_unreferenced_function_symbols): Proxy call to corpus::priv.
          (corpus::get_unreferenced_variable_symbols): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-corpus-priv.h |  13 ++-
 src/abg-corpus.cc     | 246 +++++++++++++++++++-----------------------
 2 files changed, 116 insertions(+), 143 deletions(-)

diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index 282796e1b685..c8bf7f9d4cf6 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -686,8 +686,6 @@ struct corpus::priv
   symtab_reader::symtab_sptr			symtab_;
   string_elf_symbols_map_sptr			fun_symbol_map;
   string_elf_symbols_map_sptr			undefined_fun_symbol_map;
-  elf_symbols					unrefed_fun_symbols;
-  elf_symbols					unrefed_var_symbols;
   // The type maps contained in this data member are populated if the
   // corpus follows the One Definition Rule and thus if there is only
   // one copy of a type with a given name, per corpus. Otherwise, if
@@ -709,8 +707,10 @@ private:
 
   mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<elf_symbols> unrefed_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+  mutable abg_compat::optional<elf_symbols> unrefed_fun_symbols;
 
 public:
   priv(const string &	p,
@@ -722,9 +722,6 @@ public:
       pub_type_pretty_reprs_()
   {}
 
-  void
-  build_unreferenced_symbols_tables();
-
   type_maps&
   get_types();
 
@@ -737,12 +734,18 @@ public:
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
+  const elf_symbols&
+  get_unreferenced_function_symbols() const;
+
   const elf_symbols&
   get_sorted_var_symbols() const;
 
   const elf_symbols&
   get_sorted_undefined_var_symbols() const;
 
+  const elf_symbols&
+  get_unreferenced_variable_symbols() const;
+
   unordered_set<interned_string, hash_interned_string>*
   get_public_types_pretty_representations();
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 75f897eb72a8..f9f51a360707 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -302,132 +302,6 @@ struct comp_elf_symbols_functor
 
 // <corpus stuff>
 
-
-/// Build the tables of symbols that are not referenced by any
-/// function or variables of corpus::get_functions() or
-/// corpus::get_variables().
-///
-/// Note that this function considers the list of function and
-/// variable symbols to keep, that is provided by
-/// corpus::get_sym_ids_of_fns_to_keep() and
-/// corpus::get_sym_ids_of_vars_to_keep().  If a given unreferenced
-/// function or variable symbol is not in the list of variable and
-/// function symbols to keep, then that symbol is dropped and will not
-/// be part of the resulting table of unreferenced symbol that is
-/// built.
-///
-/// The built tables are accessible from
-/// corpus::get_unreferenced_function_symbols() and
-/// corpus::get_unreferenced_variable_symbols().
-void
-corpus::priv::build_unreferenced_symbols_tables()
-{
-  unordered_map<string, bool> refed_funs, refed_vars;
-  elf_symbol_sptr sym;
-
-  for (vector<function_decl*>::const_iterator f = fns.begin();
-       f != fns.end();
-       ++f)
-    if ((sym = (*f)->get_symbol()))
-      {
-	refed_funs[sym->get_id_string()] = true;
-	for (elf_symbol_sptr a = sym->get_next_alias();
-	     a && !a->is_main_symbol();
-	     a = a->get_next_alias())
-	  refed_funs[a->get_id_string()] = true;
-      }
-
-  for (vector<var_decl*>::const_iterator v = vars.begin();
-       v != vars.end();
-       ++v)
-    if ((sym = (*v)->get_symbol()))
-      {
-	refed_vars[sym->get_id_string()] = true;
-	for (elf_symbol_sptr a = sym->get_next_alias();
-	     a && !a->is_main_symbol();
-	     a = a->get_next_alias())
-	  refed_vars[a->get_id_string()] = true;
-      }
-
-  if (fun_symbol_map)
-    {
-      // Let's assume that the size of the unreferenced symbols vector
-      // is roughly smaller than the size of the symbol table.
-      unrefed_fun_symbols.reserve(fun_symbol_map->size());
-      for (string_elf_symbols_map_type::const_iterator i
-	     = fun_symbol_map->begin();
-	   i != fun_symbol_map->end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  {
-	    string sym_id = (*s)->get_id_string();
-	    if (refed_funs.find(sym_id) == refed_funs.end())
-	      {
-		bool keep = sym_id_fns_to_keep.empty();
-		for (vector<string>::const_iterator i =
-		       sym_id_fns_to_keep.begin();
-		     i != sym_id_fns_to_keep.end();
-		     ++i)
-		  {
-		    if (*i == sym_id)
-		      {
-			keep = true;
-			break;
-		      }
-		  }
-		if (keep)
-		  unrefed_fun_symbols.push_back(*s);
-	      }
-	  }
-
-      comp_elf_symbols_functor comp;
-      std::sort(unrefed_fun_symbols.begin(),
-		unrefed_fun_symbols.end(),
-		comp);
-    }
-
-  if (var_symbol_map)
-    {
-      // Let's assume that the size of the unreferenced symbols vector
-      // is roughly smaller than the size of the symbol table.
-      unrefed_var_symbols.reserve(var_symbol_map->size());
-      for (string_elf_symbols_map_type::const_iterator i
-	     = var_symbol_map->begin();
-	   i != var_symbol_map->end();
-	   ++i)
-	for (elf_symbols::const_iterator s = i->second.begin();
-	     s != i->second.end();
-	     ++s)
-	  {
-	    string sym_id = (*s)->get_id_string();
-	    if (refed_vars.find(sym_id) == refed_vars.end())
-	      {
-		bool keep = sym_id_vars_to_keep.empty();
-		for (vector<string>::const_iterator i =
-		       sym_id_vars_to_keep.begin();
-		     i != sym_id_vars_to_keep.end();
-		     ++i)
-		  {
-		    if (*i == sym_id)
-		      {
-			keep = true;
-			break;
-		      }
-		  }
-		if (keep)
-		  unrefed_var_symbols.push_back(*s);
-	      }
-	  }
-
-      comp_elf_symbols_functor comp;
-      std::sort(unrefed_var_symbols.begin(),
-		unrefed_var_symbols.end(),
-		comp);
-    }
-}
-
 /// Get the maps that associate a name to a certain kind of type.
 type_maps&
 corpus::priv::get_types()
@@ -478,6 +352,59 @@ corpus::priv::get_sorted_undefined_fun_symbols() const
   return *sorted_undefined_fun_symbols;
 }
 
+/// Return a list of symbols that are not referenced by any function of
+/// corpus::get_functions().
+///
+/// Note that this function considers the list of function symbols to keep,
+/// that is provided by corpus::get_sym_ids_of_fns_to_keep(). If a given
+/// unreferenced function symbol is not in the list of functions to keep, then
+/// that symbol is dropped and will not be part of the resulting table of
+/// unreferenced symbol that is built.
+const elf_symbols&
+corpus::priv::get_unreferenced_function_symbols() const
+{
+  if (!unrefed_fun_symbols)
+    {
+      unrefed_fun_symbols = elf_symbols();
+      if (symtab_)
+	{
+	  unordered_map<string, bool> refed_funs;
+
+	  for (const auto& function : fns)
+	    if (elf_symbol_sptr sym = function->get_symbol())
+	      {
+		refed_funs[sym->get_id_string()] = true;
+		for (elf_symbol_sptr a = sym->get_next_alias();
+		     a && !a->is_main_symbol(); a = a->get_next_alias())
+		  refed_funs[a->get_id_string()] = true;
+	      }
+
+	  auto filter = symtab_->make_filter();
+	  filter.set_functions();
+	  for (const auto& symbol :
+	       symtab_reader::filtered_symtab(*symtab_, filter))
+	    {
+	      const std::string sym_id = symbol->get_id_string();
+	      if (refed_funs.find(sym_id) == refed_funs.end())
+		{
+		  bool keep = sym_id_fns_to_keep.empty();
+		  for (const auto& id : sym_id_fns_to_keep)
+		    {
+		      if (id == sym_id)
+			{
+			  keep = true;
+			  break;
+			}
+		    }
+		  if (keep)
+		    unrefed_fun_symbols->push_back(symbol);
+		}
+	    }
+	}
+    }
+  return *unrefed_fun_symbols;
+}
+
 /// Getter for the sorted vector of variable symbols for this corpus.
 ///
 /// Note that the first time this function is called, it computes the
@@ -519,6 +446,59 @@ corpus::priv::get_sorted_undefined_var_symbols() const
   return *sorted_undefined_var_symbols;
 }
 
+/// Return a list of symbols that are not referenced by any variable of
+/// corpus::get_variables().
+///
+/// Note that this function considers the list of variable symbols to keep,
+/// that is provided by corpus::get_sym_ids_of_vars_to_keep(). If a given
+/// unreferenced variable symbol is not in the list of variable to keep, then
+/// that symbol is dropped and will not be part of the resulting table of
+/// unreferenced symbol that is built.
+const elf_symbols&
+corpus::priv::get_unreferenced_variable_symbols() const
+{
+  if (!unrefed_var_symbols)
+    {
+      unrefed_var_symbols = elf_symbols();
+      if (symtab_)
+	{
+	  unordered_map<string, bool> refed_vars;
+	  for (const auto& variable : vars)
+	    if (elf_symbol_sptr sym = variable->get_symbol())
+	      {
+		refed_vars[sym->get_id_string()] = true;
+		for (elf_symbol_sptr a = sym->get_next_alias();
+		     a && !a->is_main_symbol(); a = a->get_next_alias())
+		  refed_vars[a->get_id_string()] = true;
+	      }
+
+	  auto filter = symtab_->make_filter();
+	  filter.set_variables();
+	  for (const auto& symbol :
+	       symtab_reader::filtered_symtab(*symtab_, filter))
+	    {
+	      const std::string sym_id = symbol->get_id_string();
+	      if (refed_vars.find(sym_id) == refed_vars.end())
+		{
+		  bool keep = sym_id_vars_to_keep.empty();
+		  for (const auto& id : sym_id_vars_to_keep)
+		    {
+		      if (id == sym_id)
+			{
+			  keep = true;
+			  break;
+			}
+		    }
+		  if (keep)
+		    unrefed_var_symbols->push_back(symbol);
+		}
+	    }
+	}
+    }
+  return *unrefed_var_symbols;
+}
+
+
 /// Getter of the set of pretty representation of types that are
 /// reachable from public interfaces (global functions and variables).
 ///
@@ -1310,12 +1290,7 @@ corpus::sort_variables()
 /// function exported by the current corpus.
 const elf_symbols&
 corpus::get_unreferenced_function_symbols() const
-{
-  if (priv_->unrefed_fun_symbols.empty()
-      && priv_->unrefed_var_symbols.empty())
-    priv_->build_unreferenced_symbols_tables();
-  return priv_->unrefed_fun_symbols;
-}
+{ return priv_->get_unreferenced_function_symbols(); }
 
 /// Getter of the set of variable symbols that are not referenced by
 /// any variable exported by the current corpus.
@@ -1328,12 +1303,7 @@ corpus::get_unreferenced_function_symbols() const
 /// variable exported by the current corpus.
 const elf_symbols&
 corpus::get_unreferenced_variable_symbols() const
-{
-    if (priv_->unrefed_fun_symbols.empty()
-      && priv_->unrefed_var_symbols.empty())
-    priv_->build_unreferenced_symbols_tables();
-  return priv_->unrefed_var_symbols;
-}
+{ return priv_->get_unreferenced_variable_symbols(); }
 
 /// Accessor for the regex patterns describing the functions to drop
 /// from the public decl table.
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 09/20] abg-reader: avoid using the (var|function)_symbol_map
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (7 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 08/20] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-15 14:23     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 10/20] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
                     ` (11 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Instead of using the corpus var|function_symbol_maps for symbol lookups,
let build_elf_symbol_from_reference use the symtab::lookup_symbol
method. That leads to a shorter implementation and we can drop the
indicative parameter.

	* src/abg-reader.cc (build_elf_symbol_from_reference): drop
	  last parameter indicating the lookup type and use corpus
	  symtab for the lookup
	  (build_function_decl): Adjust accordingly.
	  (build_var_decl): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-reader.cc | 30 +++++++++---------------------
 1 file changed, 9 insertions(+), 21 deletions(-)

diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 68b19cf4b65b..c26689ae17ca 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -1084,8 +1084,7 @@ static elf_symbol_sptr
 build_elf_symbol(read_context&, const xmlNodePtr, bool);
 
 static elf_symbol_sptr
-build_elf_symbol_from_reference(read_context&, const xmlNodePtr,
-				bool);
+build_elf_symbol_from_reference(read_context&, const xmlNodePtr);
 
 static string_elf_symbols_map_sptr
 build_elf_symbol_db(read_context&, const xmlNodePtr, bool);
@@ -2818,8 +2817,7 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 ///
 /// @return a shared pointer the resutling elf_symbol.
 static elf_symbol_sptr
-build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node,
-				bool function_symbol)
+build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node)
 {
   elf_symbol_sptr nil;
 
@@ -2838,20 +2836,12 @@ build_elf_symbol_from_reference(read_context& ctxt, const xmlNodePtr node,
       if (name.empty())
 	return nil;
 
-      string_elf_symbols_map_sptr sym_db =
-	(function_symbol)
-	? ctxt.get_corpus()->get_fun_symbol_map_sptr()
-	: ctxt.get_corpus()->get_var_symbol_map_sptr();
+      const elf_symbols& symbols =
+	  ctxt.get_corpus()->get_symtab()->lookup_symbol(name);
 
-      string_elf_symbols_map_type::const_iterator i = sym_db->find(name);
-      if (i != sym_db->end())
-	{
-	  for (elf_symbols::const_iterator s = i->second.begin();
-	       s != i->second.end();
-	       ++s)
-	    if ((*s)->get_id_string() == sym_id)
-	      return *s;
-	}
+      for (const auto& symbol : symbols)
+	if (symbol->get_id_string() == sym_id)
+	  return symbol;
     }
 
   return nil;
@@ -3102,8 +3092,7 @@ build_function_decl(read_context&	ctxt,
 
   ctxt.push_decl_to_current_scope(fn_decl, add_to_current_scope);
 
-  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node,
-							/*function_sym=*/true);
+  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node);
   if (sym)
     fn_decl->set_symbol(sym);
 
@@ -3334,8 +3323,7 @@ build_var_decl(read_context&	ctxt,
 				  locus, mangled_name,
 				  vis, bind));
 
-  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node,
-							/*function_sym=*/false);
+  elf_symbol_sptr sym = build_elf_symbol_from_reference(ctxt, node);
   if (sym)
     decl->set_symbol(sym);
 
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 10/20] dwarf-reader: read_context: use new symtab in *_symbols_is_exported
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (8 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 09/20] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-15 18:13     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 11/20] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
                     ` (10 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Testing whether a symbol is exported can be simplified using the new
symtab implementation. The same holds true for whether a symbol is
exported via ksymtab in case of linux kernel binaries. So, do that.

	* src/abg-dwarf-reader.cc (function_symbol_is_exported): Use new
	  symtab implementation.
	  (variable_symbol_is_exported): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 9f533e64959c..3a93fe0df5d0 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -5807,11 +5807,11 @@ public:
   elf_symbol_sptr
   function_symbol_is_exported(GElf_Addr symbol_address) const
   {
-    elf_symbol_sptr symbol = lookup_elf_fn_symbol_from_address(symbol_address);
+    elf_symbol_sptr symbol = symtab()->lookup_symbol(symbol_address);
     if (!symbol)
       return symbol;
 
-    if (!symbol->is_public())
+    if (!symbol->is_function() || !symbol->is_public())
       return elf_symbol_sptr();
 
     address_set_sptr set;
@@ -5820,16 +5820,8 @@ public:
 
     if (looking_at_linux_kernel_binary)
       {
-	if ((set = linux_exported_fn_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
-	if ((set = linux_exported_gpl_fn_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
+	if (symbol->is_in_ksymtab())
+	  return symbol;
 	return elf_symbol_sptr();
       }
 
@@ -5847,11 +5839,11 @@ public:
   elf_symbol_sptr
   variable_symbol_is_exported(GElf_Addr symbol_address) const
   {
-    elf_symbol_sptr symbol = lookup_elf_var_symbol_from_address(symbol_address);
+    elf_symbol_sptr symbol = symtab()->lookup_symbol(symbol_address);
     if (!symbol)
       return symbol;
 
-    if (!symbol->is_public())
+    if (!symbol->is_variable() || !symbol->is_public())
       return elf_symbol_sptr();
 
     address_set_sptr set;
@@ -5860,16 +5852,8 @@ public:
 
     if (looking_at_linux_kernel_binary)
       {
-	if ((set = linux_exported_var_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
-	if ((set = linux_exported_gpl_var_syms()))
-	  {
-	    if (set->find(symbol_address) != set->end())
-	      return symbol;
-	  }
+	if (symbol->is_in_ksymtab())
+	  return symbol;
 	return elf_symbol_sptr();
       }
 
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 11/20] Switch kernel stuff over to new symtab and drop unused code
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (9 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 10/20] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-16 10:38     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 12/20] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
                     ` (9 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Now that the new symtab implementation is capable of reading the
ksymtab, we can switch over the implementation to gather information
from there and delete all now-obsolete code.

	* src/abg-dwarf-reader.cc (read_context::ksymtab_format_): Delete.
	(read_context::ksymtab_entry_size_): Likewise.
	(read_context::nb_ksymtab_entries_): Likewise.
	(read_context::nb_ksymtab_gpl_entries_): Likewise.
	(read_context::ksymtab_section_): Likewise.
	(read_context::ksymtab_reloc_section_): Likewise.
	(read_context::ksymtab_gpl_section_): Likewise.
	(read_context::ksymtab_gpl_reloc_section_): Likewise.
	(read_context::ksymtab_strings_section_): Likewise.
	(read_context::linux_exported_fn_syms): Likewise.
	(read_context::linux_exported_var_syms): Likewise.
	(read_context::linux_exported_gpl_fn_syms): Likewise.
	(read_context::linux_exported_gpl_var_syms): Likewise.
	(read_context::initialize): Remove initializations accordingly.
	(read_context::find_ksymtab_section): Delete.
	(read_context::find_ksymtab_gpl_section): Likewise.
	(read_context::find_ksymtab_reloc_section): Likewise.
	(read_context::find_ksymtab_gpl_reloc_section): Likewise.
	(read_context::find_ksymtab_strings_section): Likewise.
	(read_context::find_any_ksymtab_section): Likewise.
	(read_context::find_any_ksymtab_reloc_section): Likewise.
	(read_context::lookup_elf_symbol_from_index): Adjust.
	(read_context::linux_exported_fn_syms): Delete.
	(read_context::create_or_get_linux_exported_fn_syms): Likewise.
	(read_context::linux_exported_var_syms): Likewise.
	(read_context::create_or_get_linux_exported_var_syms): Likewise.
	(read_context::linux_exported_gpl_fn_syms): Delete.
	(read_context::create_or_get_linux_exported_gpl_fn_syms): Likewise.
	(read_context::linux_exported_gpl_var_syms): Likewise.
	(read_context::create_or_get_linux_exported_gpl_var_syms): Likewise.
	(read_context::try_reading_first_ksymtab_entry): Likewise.
	(read_context::try_reading_first_ksymtab_entry_using_pre_v4_19_format): Likewise.
	(read_context::try_reading_first_ksymtab_entry_using_v4_19_format): Likewise.
	(read_context::get_ksymtab_format_module): Likewise.
	(read_context::get_ksymtab_format): Likewise.
	(read_context::get_ksymtab_symbol_value_size): Likewise.
	(read_context::get_ksymtab_entry_size): Likewise.
	(read_context::get_nb_ksymtab_entries): Likewise.
	(read_context::get_nb_ksymtab_gpl_entries): Likewise.
	(read_context::populate_symbol_map_from_ksymtab): Likewise.
	(read_context::populate_symbol_map_from_ksymtab_reloc): Likewise.
	(read_context::load_kernel_symbol_table): Likewise.
	(read_context::load_ksymtab_symbols): Likewise.
	(read_context::load_ksymtab_gpl_symbols): Likewise.
	(read_context::load_linux_specific_exported_symbol_maps): Likewise.
	(read_context::load_symbol_maps): Do not load kernel symbol maps.
	(read_context::maybe_adjust_sym_address_from_v4_19_ksymtab): Delete.
	(read_context::add_fn_symbols_to_map): Likewise.
	(read_context::add_var_symbols_to_map): Likewise.
	(read_context::read_debug_info_into_corpus): Fill export maps
	from new symtab.
	(read_context::lookup_elf_fn_symbol_from_address): Delete.
	(read_context::lookup_elf_var_symbol_from_address): Likewise.
	(read_context::lookup_elf_symbol_from_address): Likewise.
	(read_context::lookup_public_function_symbol_from_elf): Likewise.
	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
	(read_context::fun_entry_addr_sym_map): Likewise.
	(read_context::var_addr_sym_map): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 1191 +--------------------------------------
 1 file changed, 19 insertions(+), 1172 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 3a93fe0df5d0..693fae82040e 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -2145,26 +2145,6 @@ public:
   // ppc64 elf v1 binaries.  This section contains the procedure
   // descriptors on that platform.
   mutable Elf_Scn*		opd_section_;
-  /// The format of the special __ksymtab section from the linux
-  /// kernel binary.
-  mutable ksymtab_format	ksymtab_format_;
-  /// The size of one entry of the __ksymtab section.
-  mutable size_t		ksymtab_entry_size_;
-  /// The number of entries in the __ksymtab section.
-  mutable size_t		nb_ksymtab_entries_;
-  /// The number of entries in the __ksymtab_gpl section.
-  mutable size_t		nb_ksymtab_gpl_entries_;
-  /// The special __ksymtab and __ksymtab_gpl sections from linux
-  /// kernel or module binaries.  The former is used to store
-  /// references to symbols exported using the EXPORT_SYMBOL macro
-  /// from the linux kernel.  The latter is used to store references
-  /// to symbols exported using the EXPORT_SYMBOL_GPL macro from the
-  /// linux kernel.
-  mutable Elf_Scn*		ksymtab_section_;
-  mutable Elf_Scn*		ksymtab_reloc_section_;
-  mutable Elf_Scn*		ksymtab_gpl_section_;
-  mutable Elf_Scn*		ksymtab_gpl_reloc_section_;
-  mutable Elf_Scn*		ksymtab_strings_section_;
   Dwarf_Die*			cur_tu_die_;
   mutable dwarf_expr_eval_context	dwarf_expr_eval_context_;
   // A set of maps (one per kind of die source) that associates a decl
@@ -2248,10 +2228,6 @@ public:
   string_elf_symbols_map_sptr	var_syms_;
   string_elf_symbols_map_sptr	undefined_fun_syms_;
   string_elf_symbols_map_sptr	undefined_var_syms_;
-  address_set_sptr		linux_exported_fn_syms_;
-  address_set_sptr		linux_exported_var_syms_;
-  address_set_sptr		linux_exported_gpl_fn_syms_;
-  address_set_sptr		linux_exported_gpl_var_syms_;
   vector<string>		dt_needed_;
   string			dt_soname_;
   string			elf_architecture_;
@@ -2350,15 +2326,6 @@ public:
     elf_path_ = elf_path;
     symtab_section_ = 0;
     opd_section_ = 0;
-    ksymtab_format_ = UNDEFINED_KSYMTAB_FORMAT;
-    ksymtab_entry_size_ = 0;
-    nb_ksymtab_entries_ = 0;
-    nb_ksymtab_gpl_entries_ = 0;
-    ksymtab_section_ = 0;
-    ksymtab_reloc_section_ = 0;
-    ksymtab_gpl_section_ = 0;
-    ksymtab_gpl_reloc_section_ = 0;
-    ksymtab_strings_section_ = 0;
     cur_tu_die_ =  0;
     exported_decls_builder_ = 0;
 
@@ -2404,10 +2371,6 @@ public:
     var_syms_.reset();
     undefined_fun_syms_.reset();
     undefined_var_syms_.reset();
-    linux_exported_fn_syms_.reset();
-    linux_exported_var_syms_.reset();
-    linux_exported_gpl_fn_syms_.reset();
-    linux_exported_gpl_var_syms_.reset();
     dt_needed_.clear();
     dt_soname_.clear();
     elf_architecture_.clear();
@@ -5362,97 +5325,6 @@ public:
     return opd_section_;
   }
 
-  /// Return the __ksymtab section of a linux kernel ELF file (either
-  /// a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_section() const
-  {
-    if (!ksymtab_section_)
-      ksymtab_section_ = elf_helpers::find_ksymtab_section(elf_handle());
-    return ksymtab_section_;
-  }
-
-  /// Return the __ksymtab_gpl section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab_gpl section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_gpl_section() const
-  {
-    if (!ksymtab_gpl_section_)
-      ksymtab_gpl_section_ =
-	elf_helpers::find_ksymtab_gpl_section(elf_handle());
-    return ksymtab_gpl_section_;
-  }
-
-  /// Return the .rel{a,}__ksymtab section of a linux kernel ELF file (either
-  /// a vmlinux binary or a kernel module).
-  ///
-  /// @return the .rel{a,}__ksymtab section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_reloc_section() const
-  {
-    if (!ksymtab_reloc_section_)
-	ksymtab_reloc_section_ =
-	  find_relocation_section(elf_handle(), find_ksymtab_section());
-    return ksymtab_reloc_section_;
-  }
-
-  /// Return the .rel{a,}__ksymtab_gpl section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the .rel{a,}__ksymtab_gpl section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_gpl_reloc_section() const
-  {
-    if (!ksymtab_gpl_reloc_section_)
-	ksymtab_gpl_reloc_section_ =
-	  find_relocation_section(elf_handle(), find_ksymtab_gpl_section());
-    return ksymtab_gpl_reloc_section_;
-  }
-
-  /// Return the __ksymtab_strings section of a linux kernel ELF file
-  /// (either a vmlinux binary or a kernel module).
-  ///
-  /// @return the __ksymtab_strings section if found, nil otherwise.
-  Elf_Scn*
-  find_ksymtab_strings_section() const
-  {
-    if (!ksymtab_strings_section_)
-      ksymtab_strings_section_ =
-	dwarf_reader::find_ksymtab_strings_section(elf_handle());
-    return ksymtab_strings_section_;
-  }
-
-  /// Return either a __ksymtab or a __ksymtab_gpl section, in case
-  /// only the __ksymtab_gpl exists.
-  ///
-  /// @return the __ksymtab section if it exists, or the
-  /// __ksymtab_gpl; or NULL if neither is found.
-  Elf_Scn*
-  find_any_ksymtab_section() const
-  {
-    Elf_Scn *result = find_ksymtab_section();
-    if (!result)
-      result = find_ksymtab_gpl_section();
-    return result;
-  }
-
-  /// Return either a .rel{a,}__ksymtab or a .rel{a,}__ksymtab_gpl section
-  ///
-  /// @return the .rel{a,}__ksymtab section if it exists, or the
-  /// .rel{a,}__ksymtab_gpl; or NULL if neither is found.
-  Elf_Scn*
-  find_any_ksymtab_reloc_section() const
-  {
-    Elf_Scn *result = find_ksymtab_reloc_section();
-    if (!result)
-      result = find_ksymtab_gpl_reloc_section();
-    return result;
-  }
-
   /// Lookup an elf symbol, referred to by its index, from the .symtab
   /// section.
   ///
@@ -5548,7 +5420,7 @@ public:
     elf_symbol::visibility vis =
       stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(native_sym.st_other));
 
-    Elf_Scn *strings_section = find_ksymtab_strings_section();
+    Elf_Scn* strings_section = find_ksymtab_strings_section(elf_handle());
     size_t strings_ndx = strings_section
       ? elf_ndxscn(strings_section)
       : 0;
@@ -5710,92 +5582,6 @@ public:
     return result;
   }
 
-  /// Given the address of the beginning of a function, lookup the
-  /// symbol of the function, build an instance of @ref elf_symbol out
-  /// of it and return it.
-  ///
-  /// @param symbol_start_addr the address of the beginning of the
-  /// function to consider.
-  ///
-  /// @param sym the resulting symbol.  This is set iff the function
-  /// returns true.
-  ///
-  /// @return the elf symbol found at address @p symbol_start_addr, or
-  /// nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_fn_symbol_from_address(GElf_Addr symbol_start_addr) const
-  {
-    addr_elf_symbol_sptr_map_type::const_iterator i,
-      nil = fun_entry_addr_sym_map().end();
-
-    if ((i = fun_entry_addr_sym_map().find(symbol_start_addr)) == nil)
-      return elf_symbol_sptr();
-
-    return i->second;
-  }
-
-  /// Given the address of a global variable, lookup the symbol of the
-  /// variable, build an instance of @ref elf_symbol out of it and
-  /// return it.
-  ///
-  /// @param symbol_start_addr the address of the beginning of the
-  /// variable to consider.
-  ///
-  /// @param the symbol found, iff the function returns true.
-  ///
-  /// @return the elf symbol found or nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_var_symbol_from_address(GElf_Addr symbol_start_addr) const
-  {
-    addr_elf_symbol_sptr_map_type::const_iterator i,
-      nil = var_addr_sym_map().end();
-
-    if ((i = var_addr_sym_map().find(symbol_start_addr)) == nil)
-      return elf_symbol_sptr();
-
-    return i->second;
-  }
-
-  /// Lookup an elf symbol, knowing its address.
-  ///
-  /// This function first looks for a function symbol having this
-  /// address; if it doesn't find any, then it looks for a variable
-  /// symbol.
-  ///
-  /// @param symbol_addr the address of the symbol of the symbol we
-  /// are looking for.  Note that the address is a relative offset
-  /// starting from the beginning of the .text section.  Addresses
-  /// that are presen in the symbol table (the one named .symtab).
-  ///
-  /// @return the elf symbol if found, or nil otherwise.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_address(GElf_Addr symbol_addr) const
-  {
-    elf_symbol_sptr result = lookup_elf_fn_symbol_from_address(symbol_addr);
-    if (!result)
-      result = lookup_elf_var_symbol_from_address(symbol_addr);
-    return result;
-  }
-
-  /// Look in the symbol tables of the underying elf file and see if
-  /// we find a symbol of a given name of function type.
-  ///
-  /// @param sym_name the name of the symbol to look for.
-  ///
-  /// @param syms the public function symbols that were found, with
-  /// the name @p sym_name.
-  ///
-  /// @return true iff the symbol was found.
-  bool
-  lookup_public_function_symbol_from_elf(const string&			sym_name,
-					 vector<elf_symbol_sptr>&	syms)
-  {
-    return dwarf_reader::lookup_public_function_symbol_from_elf(env(),
-								elf_handle(),
-								sym_name,
-								syms);
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5894,20 +5680,6 @@ public:
     return fun_addr_sym_map_;
   }
 
-  /// Getter for a pointer to the map that associates the address of
-  /// an entry point of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return a pointer to the map that associates the address of an
-  /// entry point of a function with the symbol of that function.
-  const addr_elf_symbol_sptr_map_sptr&
-  fun_entry_addr_sym_map_sptr() const
-  {return const_cast<read_context*>(this)->fun_entry_addr_sym_map_sptr();}
-
-
   /// Getter for the map that associates the address of an entry point
   /// of a function with the symbol of that function.
   ///
@@ -5921,19 +5693,6 @@ public:
   fun_entry_addr_sym_map()
   {return *fun_entry_addr_sym_map_sptr();}
 
-  /// Getter for the map that associates the address of an entry point
-  /// of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return the map that associates the address of an entry point of
-  /// a function with the symbol of that function.
-  const addr_elf_symbol_sptr_map_type&
-  fun_entry_addr_sym_map() const
-  { return *fun_entry_addr_sym_map_sptr();}
-
   /// Getter for the map of function symbols (name -> sym).
   ///
   /// @return a shared pointer to the map of function symbols.
@@ -5998,130 +5757,6 @@ public:
     return undefined_var_syms_;
   }
 
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of function symbols present in the __ksymtab
-  /// section
-  address_set_sptr&
-  linux_exported_fn_syms()
-  {return linux_exported_fn_syms_;}
-
-  /// Getter for the set of addresses of functions that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of function symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  const address_set_sptr&
-  linux_exported_fn_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_fn_syms();}
-
-  /// Create an empty set of addresses of functions exported from a
-  /// linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_fn_syms()
-  {
-    if (!linux_exported_fn_syms_)
-      linux_exported_fn_syms_.reset(new address_set_type);
-    return linux_exported_fn_syms_;
-  }
-
-  /// Getter for the set of addresses of v ariables that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of variable symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  linux_exported_var_syms()
-  {return linux_exported_var_syms_;}
-
-  /// Getter for the set of addresses of variables that are
-  /// explicitely exported, for a linux kernel (module) binary.  These
-  /// are the addresses of variable symbols present in the __ksymtab
-  /// section.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  const address_set_sptr&
-  linux_exported_var_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_var_syms();}
-
-
-  /// Create an empty set of addresses of variables exported from a
-  /// linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_var_syms()
-  {
-    if (!linux_exported_var_syms_)
-      linux_exported_var_syms_.reset(new address_set_type);
-    return linux_exported_var_syms_;
-  }
-
-
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of function symbols present in the
-  /// __ksymtab_gpl section.
-  address_set_sptr&
-  linux_exported_gpl_fn_syms()
-  {return linux_exported_gpl_fn_syms_;}
-
-  /// Getter for the set of addresses of function symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of function symbols present in the
-  /// __ksymtab_gpl section.
-  const address_set_sptr&
-  linux_exported_gpl_fn_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_gpl_fn_syms();}
-
-  /// Create an empty set of addresses of GPL functions exported from
-  /// a linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported function symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_gpl_fn_syms()
-  {
-    if (!linux_exported_gpl_fn_syms_)
-      linux_exported_gpl_fn_syms_.reset(new address_set_type);
-    return linux_exported_gpl_fn_syms_;
-  }
-
-  /// Getter for the set of addresses of variable symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of variable symbols present in the
-  /// __ksymtab_gpl section.
-  address_set_sptr&
-  linux_exported_gpl_var_syms()
-  {return linux_exported_gpl_var_syms_;}
-
-  /// Getter for the set of addresses of variable symbols that are
-  /// explicitely exported as GPL, for a linux kernel (module) binary.
-  /// These are the addresses of variable symbols present in the
-  /// __ksymtab_gpl section.
-  const address_set_sptr&
-  linux_exported_gpl_var_syms() const
-  {return const_cast<read_context*>(this)->linux_exported_gpl_var_syms();}
-
-  /// Create an empty set of addresses of GPL variables exported from
-  /// a linux kernel (module) binary, or return the one that already
-  /// exists.
-  ///
-  /// @return the set of addresses of exported variable symbols.
-  address_set_sptr&
-  create_or_get_linux_exported_gpl_var_syms()
-  {
-    if (!linux_exported_gpl_var_syms_)
-      linux_exported_gpl_var_syms_.reset(new address_set_type);
-    return linux_exported_gpl_var_syms_;
-  }
-
   /// Getter for the ELF dt_needed tag.
   const vector<string>&
   dt_needed() const
@@ -6137,28 +5772,6 @@ public:
   elf_architecture() const
   {return elf_architecture_;}
 
-  /// Getter for the map of global variables symbol address -> global
-  /// variable symbol index.
-  ///
-  /// @return the map.  Note that this initializes the map once when
-  /// its nedded.
-  const addr_elf_symbol_sptr_map_type&
-  var_addr_sym_map() const
-  {return const_cast<read_context*>(this)->var_addr_sym_map();}
-
-  /// Getter for the map of global variables symbol address -> global
-  /// variable symbol index.
-  ///
-  /// @return the map.  Note that this initializes the map once when
-  /// its nedded.
-  addr_elf_symbol_sptr_map_type&
-  var_addr_sym_map()
-  {
-    if (!var_addr_sym_map_)
-      maybe_load_symbol_maps();
-    return *var_addr_sym_map_;
-  }
-
   /// Load the maps address -> function symbol, address -> variable
   /// symbol and the maps of function and variable undefined symbols.
   ///
@@ -6383,364 +5996,6 @@ public:
     return true;
   }
 
-  /// Try reading the first __ksymtab section entry.
-  ///
-  /// We lookup the symbol from the raw section passed as an argument. For
-  /// that, consider endianess and adjust for potential Elf relocations before
-  /// looking up the symbol in the .symtab section.
-  //
-  /// Optionally, support position relative relocations by considering the
-  /// ksymtab entry as 32 bit and applying the relocation relative to the
-  /// section header (i.e. the symbol position as we are reading the first
-  /// symbol).
-  ///
-  /// @param section the ksymtab section to consider.
-  ///
-  /// @param position_relative_relocations if true, then consider that
-  /// the section designated by @p section contains position-relative
-  /// relocated symbol addresses.
-  ///
-  /// @param symbol_offset if different from zero
-  /// If symbol_offset is != 0, adjust the position we consider the section
-  /// start. That is useful to read the ksymtab with a slight offset.
-  ///
-  /// Note, this function does not support relocatable ksymtab entries (as for
-  /// example in kernel modules). Using this function for ksymtabs where
-  /// relocations need to be applied for the entries we are reading here, will
-  /// yield wrong results.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol address we
-  /// got from reading the first entry of the ksymtab or null if no such entry
-  /// could be found.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry(Elf_Scn* section,
-				  bool position_relative_relocations,
-				  int  symbol_offset = 0) const
-  {
-    Elf_Data*	    elf_data = elf_rawdata(section, 0);
-    uint8_t*	    bytes = reinterpret_cast<uint8_t*>(elf_data->d_buf);
-    bool	    is_big_endian = architecture_is_big_endian(elf_handle());
-    elf_symbol_sptr symbol;
-    GElf_Addr	    symbol_address = 0;
-
-    unsigned char symbol_value_size;
-    if (position_relative_relocations)
-      symbol_value_size = sizeof(int32_t);
-    else
-      symbol_value_size = get_architecture_word_size(elf_handle());
-
-    const int read_offset = (symbol_offset * symbol_value_size);
-    bytes += read_offset;
-
-    if (position_relative_relocations)
-      {
-	int32_t offset = 0;
-	ABG_ASSERT(read_int_from_array_of_bytes(bytes, symbol_value_size,
-						is_big_endian, offset));
-	GElf_Shdr section_header;
-	gelf_getshdr(section, &section_header);
-	// the actual symbol address is relative to its position. Since we do
-	// not know the position, we take the beginning of the section, add the
-	// read_offset that we might have and finally apply the offset we
-	// read from the section.
-	symbol_address = section_header.sh_addr + read_offset + offset;
-      }
-    else
-      ABG_ASSERT(read_int_from_array_of_bytes(bytes, symbol_value_size,
-					      is_big_endian, symbol_address));
-
-    symbol_address = maybe_adjust_fn_sym_address(symbol_address);
-    symbol = lookup_elf_symbol_from_address(symbol_address);
-    return symbol;
-  }
-
-  /// Try reading the first __ksymtab section entry as if it is in the
-  /// pre-v4_19 format, that is without position relative relocations.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol
-  /// address we got from reading the first entry of the ksymtab
-  /// section assuming the pre-v4.19 format. If null, it means the
-  /// __ksymtab section is not in the pre-v4.19 format.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry_using_pre_v4_19_format() const
-  {
-    Elf_Scn *section = find_any_ksymtab_section();
-    return try_reading_first_ksymtab_entry(section, false);
-  }
-
-  /// Try reading the first __ksymtab section entry as if it is in the
-  /// v4_19 format, that is with position relative relocations.
-  ///
-  /// @return the symbol resulting from the lookup of the symbol
-  /// address we got from reading the first entry of the ksymtab
-  /// section assuming the v4.19 format. If null, it means the
-  /// __ksymtab section is not in the v4.19 format.
-  elf_symbol_sptr
-  try_reading_first_ksymtab_entry_using_v4_19_format() const
-  {
-    Elf_Scn *section = find_any_ksymtab_section();
-    return try_reading_first_ksymtab_entry(section, true);
-  }
-
-  /// Try to determine the format of the __ksymtab and __ksymtab_gpl
-  /// sections of Linux kernel modules.
-  ///
-  /// This is important because we need to know the format of these
-  /// sections to be able to read from them.
-  ///
-  /// @return the format the __ksymtab[_gpl] sections.
-  enum ksymtab_format
-  get_ksymtab_format_module() const
-  {
-    Elf_Scn *section = find_any_ksymtab_reloc_section();
-
-    ABG_ASSERT(section);
-
-    // Libdwfl has a weird quirk where, in the process of obtaining an Elf
-    // descriptor via dwfl_module_getelf(), it will apply all relocations it
-    // knows how to and it will zero the relocation info after applying it. If
-    // the .rela__ksymtab* section contained only simple (absolute) relocations,
-    // they will have been all applied and sh_size will be 0. For arches that
-    // support relative ksymtabs, simple relocations only appear in pre-4.19
-    // kernel modules.
-    GElf_Shdr section_mem;
-    GElf_Shdr *section_shdr = gelf_getshdr(section, &section_mem);
-    if (section_shdr->sh_size == 0)
-      return PRE_V4_19_KSYMTAB_FORMAT;
-
-    bool is_relasec = (section_shdr->sh_type == SHT_RELA);
-
-    // If we still have a normal non-zeroed relocation section, we can guess
-    // what format the ksymtab is in depending on what types of relocs it
-    // contains.
-
-    uint64_t type;
-    Elf_Data *section_data = elf_getdata(section, 0);
-    if (is_relasec)
-      {
-	GElf_Rela rela;
-	gelf_getrela(section_data, 0, &rela);
-	type = GELF_R_TYPE(rela.r_info);
-      }
-    else
-      {
-	GElf_Rel rel;
-	gelf_getrel(section_data, 0, &rel);
-	type = GELF_R_TYPE(rel.r_info);
-      }
-
-    // Sigh, I dislike the arch-dependent code here, but this seems to be a
-    // reliable heuristic for kernel modules for now. Relative ksymtabs only
-    // supported on x86 and arm64 as of v4.19.
-    ksymtab_format format;
-    switch (type)
-      {
-      case R_X86_64_64: // Same as R_386_32, fallthrough
-#ifdef HAVE_R_AARCH64_ABS64_MACRO
-      case R_AARCH64_ABS64:
-#endif
-	format = PRE_V4_19_KSYMTAB_FORMAT;
-	break;
-      case R_X86_64_PC32: // Same as R_386_PC32, fallthrough
-#ifdef HAVE_R_AARCH64_PREL32_MACRO
-      case R_AARCH64_PREL32:
-#endif
-	format = V4_19_KSYMTAB_FORMAT;
-	break;
-      default:
-	// Fall back to other methods of determining the ksymtab format.
-	format = UNDEFINED_KSYMTAB_FORMAT;
-	break;
-      }
-    return format;
-  }
-
-  /// Determine the format of the __ksymtab and __ksymtab_gpl
-  /// sections.
-  ///
-  /// This is important because we need the know the format of these
-  /// sections to be able to read from them.
-  ///
-  /// @return the format the __ksymtab[_gpl] sections.
-  enum ksymtab_format
-  get_ksymtab_format() const
-  {
-    if (!find_any_ksymtab_section())
-      ksymtab_format_ = UNDEFINED_KSYMTAB_FORMAT;
-    else
-      {
-	if (ksymtab_format_ == UNDEFINED_KSYMTAB_FORMAT)
-	  {
-	    // Since Linux kernel modules are relocatable, we can first try
-	    // using a heuristic based on relocations to guess the ksymtab format.
-	    if (is_linux_kernel_module(elf_handle()))
-	     {
-	       ksymtab_format_ = get_ksymtab_format_module();
-	       if (ksymtab_format_ != UNDEFINED_KSYMTAB_FORMAT)
-		  return ksymtab_format_;
-	     }
-
-	    // If it's not a kernel module or we couldn't determine its format
-	    // with relocations, fall back to the heuristics below.
-
-	    // OK this is a dirty little heuristic to determine the
-	    // format of the ksymtab section.
-	    //
-	    // We try to read the first ksymtab entry assuming a
-	    // pre-v4.19 format.  If that succeeds then we are in the
-	    // pr-v4.19 format.  Otherwise, try reading it assuming a
-	    // v4.19 format.  For now, we just support
-	    // PRE_V4_19_KSYMTAB_FORMAT and V4_19_KSYMTAB_FORMAT.
-	    if (try_reading_first_ksymtab_entry_using_pre_v4_19_format())
-	      ksymtab_format_ = PRE_V4_19_KSYMTAB_FORMAT;
-	    else if (try_reading_first_ksymtab_entry_using_v4_19_format())
-	      ksymtab_format_ = V4_19_KSYMTAB_FORMAT;
-	    else
-	      // If a new format emerges, then we need to add its
-	      // support above.
-	      ABG_ASSERT_NOT_REACHED;
-	  }
-      }
-    return ksymtab_format_;
-  }
-
-  /// Getter of the size of the symbol value part of an entry of the
-  /// ksymtab section.
-  ///
-  /// @return the size of the symbol value part of the entry of the
-  /// ksymtab section.
-  unsigned char
-  get_ksymtab_symbol_value_size() const
-  {
-    unsigned char result = 0;
-    ksymtab_format format = get_ksymtab_format();
-    if (format == UNDEFINED_KSYMTAB_FORMAT)
-      ;
-    else if (format == PRE_V4_19_KSYMTAB_FORMAT)
-      result = get_architecture_word_size(elf_handle());
-    else if (format == V4_19_KSYMTAB_FORMAT)
-      result = 4;
-    else
-      ABG_ASSERT_NOT_REACHED;
-
-    return result;
-  }
-
-  /// Getter of the size of one entry of the ksymtab section.
-  ///
-  /// @return the size of one entry of the ksymtab section.
-  unsigned char
-  get_ksymtab_entry_size() const
-  {
-    if (ksymtab_entry_size_ == 0)
-      {
-	const unsigned char symbol_size = get_ksymtab_symbol_value_size();
-	Elf_Scn*	    ksymtab = find_any_ksymtab_section();
-	if (ksymtab)
-	  {
-	    GElf_Shdr ksymtab_shdr;
-	    gelf_getshdr(ksymtab, &ksymtab_shdr);
-
-	    // ksymtab entries have the following layout
-	    //
-	    // struct {
-	    //  T symbol_address;  // .symtab entry
-	    //  T name_address;    // .strtab entry
-	    // }
-	    //
-	    // with T being a suitable type to represent the absolute,
-	    // relocatable or position relative value of the address. T's size
-	    // is determined by get_ksymtab_symbol_value_size().
-	    //
-	    // Since Kernel v5.4, the entries have the following layout
-	    //
-	    // struct {
-	    //  T symbol_address;  // .symtab entry
-	    //  T name_address;    // .strtab entry
-	    //  T namespace;       // .strtab entry
-	    // }
-	    //
-	    // To determine the ksymtab entry size, find the next entry that
-	    // refers to a valid .symtab entry. The offset to that one is what
-	    // we are searching for.
-	    for (unsigned entries = 2; entries <= 3; ++entries)
-	      {
-		const unsigned candidate_size = entries * symbol_size;
-
-		// if there is exactly one entry, section size == entry size
-		// (this looks like an optimization, but in fact it prevents
-		// from illegal reads if there is actually only one entry)
-		if (ksymtab_shdr.sh_size == candidate_size)
-		  {
-		    ksymtab_entry_size_ = candidate_size;
-		    break;
-		  }
-
-		// otherwise check whether the symbol following the candidate
-		// number of entries is a valid ELF symbol. For that we read
-		// the ksymtab with the given offset and if the symbol is
-		// valid, we found our entry size.
-		const ksymtab_format format = get_ksymtab_format();
-		if (try_reading_first_ksymtab_entry
-		    (ksymtab, format == V4_19_KSYMTAB_FORMAT, entries))
-		  {
-		    ksymtab_entry_size_ = candidate_size;
-		    break;
-		  }
-	      }
-	    ABG_ASSERT(ksymtab_entry_size_ != 0);
-	  }
-      }
-
-    return ksymtab_entry_size_;
-  }
-
-  /// Getter of the number of entries that are present in the ksymtab
-  /// section.
-  ///
-  /// @return the number of entries that are present in the ksymtab
-  /// section.
-  size_t
-  get_nb_ksymtab_entries() const
-  {
-    if (nb_ksymtab_entries_ == 0)
-      {
-	Elf_Scn *section = find_ksymtab_section();
-	if (section)
-	  {
-	    GElf_Shdr header_mem;
-	    GElf_Shdr *section_header = gelf_getshdr(section, &header_mem);
-	    size_t entry_size = get_ksymtab_entry_size();
-	    ABG_ASSERT(entry_size);
-	    nb_ksymtab_entries_ = section_header->sh_size / entry_size;
-	  }
-      }
-    return nb_ksymtab_entries_;
-  }
-
-  /// Getter of the number of entries that are present in the
-  /// ksymtab_gpl section.
-  ///
-  /// @return the number of entries that are present in the
-  /// ksymtab_gpl section.
-  size_t
-  get_nb_ksymtab_gpl_entries()
-  {
-    if (nb_ksymtab_gpl_entries_ == 0)
-      {
-	Elf_Scn *section = find_ksymtab_gpl_section();
-	if (section)
-	  {
-	    GElf_Shdr header_mem;
-	    GElf_Shdr *section_header = gelf_getshdr(section, &header_mem);
-	    size_t entry_size = get_ksymtab_entry_size();
-	    ABG_ASSERT(entry_size);
-	    nb_ksymtab_gpl_entries_ = section_header->sh_size / entry_size;
-	  }
-      }
-    return nb_ksymtab_gpl_entries_;
-  }
-
   /// Test if a given ELF symbol was suppressed by a suppression
   /// specification.
   ///
@@ -6756,328 +6011,6 @@ public:
 					       symbol->get_type()));
   }
 
-  /// Populate the symbol map by reading exported symbols from the
-  /// ksymtab directly.
-  ///
-  /// @param section the ksymtab section to read from
-  ///
-  /// @param exported_fns_set the set of exported functions
-  ///
-  /// @param exported_vars_set the set of exported variables
-  ///
-  /// @param nb_entries the number of ksymtab entries to read
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  populate_symbol_map_from_ksymtab(Elf_Scn *section,
-                                   address_set_sptr exported_fns_set,
-                                   address_set_sptr exported_vars_set,
-                                   size_t nb_entries)
-  {
-    // The data of the section.
-    Elf_Data *elf_data = elf_rawdata(section, 0);
-
-    // An array-of-bytes view of the elf data above.  Something we can
-    // actually program with.  Phew.
-    uint8_t *bytes = reinterpret_cast<uint8_t*>(elf_data->d_buf);
-
-    // This is where to store an address of a symbol that we read from
-    // the section.
-    GElf_Addr symbol_address = 0, adjusted_symbol_address = 0;
-
-    // So the section is an array of entries.  Each entry describes a
-    // symbol.  Each entry is made of two words.
-    //
-    // The first word is the address of a symbol.  The second one is
-    // the address of a static global variable symbol which value is
-    // the string representing the symbol name.  That string is in the
-    // __ksymtab_strings section.  Here, we are only interested in the
-    // first entry.
-    //
-    // Lets thus walk the array of entries, and let's read just the
-    // symbol address part of each entry.
-    bool is_big_endian = architecture_is_big_endian(elf_handle());
-    elf_symbol_sptr symbol;
-    unsigned char symbol_value_size = get_ksymtab_symbol_value_size();
-
-    for (size_t i = 0, entry_offset = 0;
-	 i < nb_entries;
-	 ++i, entry_offset = get_ksymtab_entry_size() * i)
-      {
-	symbol_address = 0;
-	ABG_ASSERT(read_int_from_array_of_bytes(&bytes[entry_offset],
-						symbol_value_size,
-						is_big_endian,
-						symbol_address));
-
-	// Starting from linux kernel v4.19, it can happen that the
-	// address value read from the ksymtab[_gpl] section might
-	// need some decoding to get the real symbol address that has
-	// a meaning in the .symbol section.
-	symbol_address =
-	  maybe_adjust_sym_address_from_v4_19_ksymtab(symbol_address,
-						      entry_offset, section);
-
-	// We might also want to adjust the symbol address, depending
-	// on if we are looking at an ET_REL, an executable or a
-	// shared object binary.
-	adjusted_symbol_address = maybe_adjust_fn_sym_address(symbol_address);
-
-	if (adjusted_symbol_address == 0)
-	  // The resulting symbol address is zero, not sure this
-	  // valid; ignore it.
-	  continue;
-
-	// OK now the symbol address should be in a suitable form to
-	// be used to look the symbol up in the usual .symbol section
-	// (aka ELF symbol table).
-	symbol = lookup_elf_symbol_from_address(adjusted_symbol_address);
-	if (!symbol)
-	  {
-	    adjusted_symbol_address =
-	      maybe_adjust_var_sym_address(symbol_address);
-	    symbol = lookup_elf_symbol_from_address(adjusted_symbol_address);
-	    if (!symbol)
-	      // This must be a symbol that is of type neither FUNC
-	      // (function) nor OBJECT (variable).  There are for intance,
-	      // symbols of type 'NOTYPE' in the ksymtab symbol table.  I
-	      // am not sure what those are.
-	      continue;
-	  }
-
-	// If the symbol was suppressed by a suppression
-	// specification then drop it on the floor.
-	if (is_elf_symbol_suppressed(symbol))
-	  continue;
-
-	address_set_sptr set;
-	if (symbol->is_function())
-	  {
-	    ABG_ASSERT(lookup_elf_fn_symbol_from_address
-		       (adjusted_symbol_address));
-	    set = exported_fns_set;
-	  }
-	else if (symbol->is_variable())
-	  {
-	    ABG_ASSERT(lookup_elf_var_symbol_from_address
-		       (adjusted_symbol_address));
-	    set = exported_vars_set;
-	  }
-	else
-	  ABG_ASSERT_NOT_REACHED;
-	set->insert(adjusted_symbol_address);
-      }
-    return true;
-  }
-
-  /// Populate the symbol map by extracting the exported symbols from a
-  /// ksymtab rela section.
-  ///
-  /// @param section the ksymtab section to read from
-  ///
-  /// @param exported_fns_set the set of exported functions
-  ///
-  /// @param exported_vars_set the set of exported variables
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  populate_symbol_map_from_ksymtab_reloc(Elf_Scn *reloc_section,
-                                         address_set_sptr exported_fns_set,
-                                         address_set_sptr exported_vars_set)
-  {
-    GElf_Shdr reloc_section_mem;
-    GElf_Shdr *reloc_section_shdr = gelf_getshdr(reloc_section,
-						 &reloc_section_mem);
-    size_t reloc_count =
-      reloc_section_shdr->sh_size / reloc_section_shdr->sh_entsize;
-
-    Elf_Data *reloc_section_data = elf_getdata(reloc_section, 0);
-
-    bool is_relasec = (reloc_section_shdr->sh_type == SHT_RELA);
-    elf_symbol_sptr symbol;
-    GElf_Sym native_symbol;
-    for (unsigned int i = 0; i < reloc_count; i++)
-      {
-	if (is_relasec)
-	  {
-	    GElf_Rela rela;
-	    gelf_getrela(reloc_section_data, i, &rela);
-	    symbol = lookup_elf_symbol_from_index(GELF_R_SYM(rela.r_info),
-						  native_symbol);
-	  }
-	else
-	  {
-	    GElf_Rel rel;
-	    gelf_getrel(reloc_section_data, i, &rel);
-	    symbol = lookup_elf_symbol_from_index(GELF_R_SYM(rel.r_info),
-						  native_symbol);
-	  }
-
-	ABG_ASSERT(symbol);
-
-        // If the symbol is a linux string constant then ignore it.
-	if (symbol->get_is_linux_string_cst())
-	  continue;
-
-	if (!symbol->is_function() && !symbol->is_variable())
-	  {
-	    if (do_log())
-	      {
-		if (symbol->get_type() == elf_symbol::NOTYPE_TYPE)
-		  cerr << "skipping NOTYPE symbol "
-		       << symbol->get_name()
-		       << " shndx: "
-		       << symbol->get_index()
-		       << " @"
-		       << elf_path()
-		       << "\n";
-		else if (symbol->get_type() == elf_symbol::SECTION_TYPE)
-		  cerr << "skipping SECTION symbol "
-		       << "shndx: "
-		       << symbol->get_index()
-		       << " @"
-		       << elf_path()
-		       << "\n";
-	       }
-	    continue;
-	  }
-
-	// If the symbol was suppressed by a suppression
-	// specification then drop it on the floor.
-	if (is_elf_symbol_suppressed(symbol))
-	  continue;
-
-	// If we are looking at an ET_REL (relocatable) binary, then
-	// the symbol value of native_symbol is relative to the
-	// section that symbol is defined in.  We need to translate it
-	// into an absolute (okay, binary-relative, rather) address.
-	GElf_Addr symbol_address =
-	  maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-						   &native_symbol);
-
-	address_set_sptr set;
-	if (symbol->is_function())
-	  {
-	    ABG_ASSERT(lookup_elf_fn_symbol_from_address(symbol_address));
-	    set = exported_fns_set;
-	  }
-	else if (symbol->is_variable())
-	  {
-	    ABG_ASSERT(lookup_elf_var_symbol_from_address(symbol_address));
-	    set = exported_vars_set;
-	  }
-	else
-	  ABG_ASSERT_NOT_REACHED;
-	set->insert(symbol_address);
-      }
-    return true;
-  }
-
-  /// Load a given kernel symbol table.
-  ///
-  /// One can thus retrieve the resulting symbols by using the
-  /// accessors read_context::linux_exported_fn_syms(),
-  /// read_context::linux_exported_var_syms(),
-  /// read_context::linux_exported_gpl_fn_syms(), or
-  /// read_context::linux_exported_gpl_var_syms().
-  ///
-  /// @param kind the kind of kernel symbol table to load.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_kernel_symbol_table(kernel_symbol_table_kind kind)
-  {
-    Elf_Scn *section = 0, *reloc_section = 0;
-    address_set_sptr linux_exported_fns_set, linux_exported_vars_set;
-
-    switch (kind)
-      {
-      case KERNEL_SYMBOL_TABLE_KIND_UNDEFINED:
-	break;
-      case KERNEL_SYMBOL_TABLE_KIND_KSYMTAB:
-	section = find_ksymtab_section();
-	reloc_section = find_ksymtab_reloc_section();
-	linux_exported_fns_set = create_or_get_linux_exported_fn_syms();
-	linux_exported_vars_set = create_or_get_linux_exported_var_syms();
-	break;
-      case KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL:
-	section = find_ksymtab_gpl_section();
-	reloc_section = find_ksymtab_gpl_reloc_section();
-	linux_exported_fns_set = create_or_get_linux_exported_gpl_fn_syms();
-	linux_exported_vars_set = create_or_get_linux_exported_gpl_var_syms();
-	break;
-      }
-
-    if (!linux_exported_vars_set || !linux_exported_fns_set || !section)
-      return false;
-
-    ksymtab_format format = get_ksymtab_format();
-
-    // Although pre-v4.19 kernel modules can have a relocation section for the
-    // __ksymtab section, libdwfl zeroes the rela section after applying
-    // "simple" absolute relocations via dwfl_module_getelf(). For v4.19 and
-    // above, we get PC-relative relocations so dwfl_module_getelf() doesn't
-    // apply those relocations and we're safe to read the relocation section to
-    // determine which exported symbols are in the ksymtab.
-    if (!reloc_section || format == PRE_V4_19_KSYMTAB_FORMAT)
-      {
-	size_t nb_entries = 0;
-	if (kind == KERNEL_SYMBOL_TABLE_KIND_KSYMTAB)
-	  nb_entries = get_nb_ksymtab_entries();
-	else if (kind == KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL)
-	  nb_entries = get_nb_ksymtab_gpl_entries();
-
-	if (!nb_entries)
-	  return false;
-
-	return populate_symbol_map_from_ksymtab(
-	    section, linux_exported_fns_set, linux_exported_vars_set,
-	    nb_entries);
-      }
-    else
-      return populate_symbol_map_from_ksymtab_reloc(reloc_section,
-                                                    linux_exported_fns_set,
-                                                    linux_exported_vars_set);
-  }
-
-  /// Load the special __ksymtab section. This is for linux kernel
-  /// (module) files.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_ksymtab_symbols()
-  {
-    return load_kernel_symbol_table(KERNEL_SYMBOL_TABLE_KIND_KSYMTAB);
-  }
-
-  /// Load the special __ksymtab_gpl section. This is for linux kernel
-  /// (module) files.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_ksymtab_gpl_symbols()
-  {
-    return load_kernel_symbol_table(KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL);
-  }
-
-  /// Load linux kernel (module) specific exported symbol sections.
-  ///
-  /// @return true upon successful completion, false otherwise.
-  bool
-  load_linux_specific_exported_symbol_maps()
-  {
-    bool loaded = false;
-    if (!linux_exported_fn_syms_
-	|| !linux_exported_var_syms_)
-      loaded |= load_ksymtab_symbols();
-
-    if (!linux_exported_gpl_fn_syms_
-	|| !linux_exported_gpl_var_syms_)
-      loaded |= load_ksymtab_gpl_symbols();
-
-    return loaded;
-  }
-
   /// Load the maps of function symbol address -> function symbol,
   /// global variable symbol address -> variable symbol and also the
   /// maps of function and variable undefined symbols.
@@ -7120,11 +6053,7 @@ public:
 						 load_var_map,
 						 load_undefined_fun_map,
 						 load_undefined_var_map))
-	  {
-	    if (load_in_linux_kernel_mode() && is_linux_kernel(elf_handle()))
-	      return load_linux_specific_exported_symbol_maps();
 	    return true;
-	  }
 	return false;
       }
     return true;
@@ -7204,36 +6133,6 @@ public:
     load_elf_architecture();
   }
 
-  /// Convert the value of the symbol address part of a post V4.19
-  /// ksymtab entry (that contains place-relative addresses) into its
-  /// corresponding symbol value in the .symtab section.  The value of
-  /// the symbol in .symtab equals to addr_offset + address-of-ksymtab
-  /// + addr.
-  ///
-  /// @param addr the address read from the ksymtab section.
-  ///
-  /// @param addr_offset the offset at which @p addr was read.
-  ///
-  /// @param ksymtab_section the kymstab section @p addr was read
-  /// from.
-  GElf_Addr
-  maybe_adjust_sym_address_from_v4_19_ksymtab(GElf_Addr addr,
-					      size_t addr_offset,
-					      Elf_Scn *ksymtab_section) const
-  {
-    GElf_Addr result = addr;
-
-    if (get_ksymtab_format() == V4_19_KSYMTAB_FORMAT)
-      {
-	int32_t offset = addr;
-	GElf_Shdr mem;
-	GElf_Shdr *section_header = gelf_getshdr(ksymtab_section, &mem);
-	result = offset + section_header->sh_addr + addr_offset;
-      }
-
-    return result;
-  }
-
   /// This is a sub-routine of maybe_adjust_fn_sym_address and
   /// maybe_adjust_var_sym_address.
   ///
@@ -15903,34 +14802,6 @@ build_function_decl(read_context&	ctxt,
   return result;
 }
 
-/// Add a set of addresses (representing function symbols) to a
-/// function symbol name -> symbol map.
-///
-/// For a given symbol address, the function retrieves the name of the
-/// symbol as well as the symbol itself and inserts an entry {symbol
-/// name, symbol} into a map of symbol name -> symbol map.
-///
-/// @param syms the set of symbol addresses to consider.
-///
-/// @param map the map to populate.
-///
-/// @param ctxt the context in which we are loading a given ELF file.
-static void
-add_fn_symbols_to_map(address_set_type& syms,
-		      string_elf_symbols_map_type& map,
-		      read_context& ctxt)
-{
-  for (address_set_type::iterator i = syms.begin(); i != syms.end(); ++i)
-    {
-      elf_symbol_sptr sym = ctxt.lookup_elf_fn_symbol_from_address(*i);
-      ABG_ASSERT(sym);
-      string_elf_symbols_map_type::iterator it =
-	ctxt.fun_syms().find(sym->get_name());
-      ABG_ASSERT(it != ctxt.fun_syms().end());
-      map.insert(*it);
-    }
-}
-
 /// Add a symbol to a symbol map.
 ///
 /// @param sym the symbol to add.
@@ -15954,34 +14825,6 @@ add_symbol_to_map(const elf_symbol_sptr& sym,
     it->second.push_back(sym);
 }
 
-/// Add a set of addresses (representing variable symbols) to a
-/// variable symbol name -> symbol map.
-///
-/// For a given symbol address, the variable retrieves the name of the
-/// symbol as well as the symbol itself and inserts an entry {symbol
-/// name, symbol} into a map of symbol name -> symbol map.
-///
-/// @param syms the set of symbol addresses to consider.
-///
-/// @param map the map to populate.
-///
-/// @param ctxt the context in which we are loading a given ELF file.
-static void
-add_var_symbols_to_map(address_set_type& syms,
-		       string_elf_symbols_map_type& map,
-		       read_context& ctxt)
-{
-  for (address_set_type::iterator i = syms.begin(); i != syms.end(); ++i)
-    {
-      elf_symbol_sptr sym = ctxt.lookup_elf_var_symbol_from_address(*i);
-      ABG_ASSERT(sym);
-      string_elf_symbols_map_type::iterator it =
-	ctxt.var_syms().find(sym->get_name());
-      ABG_ASSERT(it != ctxt.var_syms().end());
-      map.insert(*it);
-    }
-}
-
 /// Read all @ref abigail::translation_unit possible from the debug info
 /// accessible through a DWARF Front End Library handle, and stuff
 /// them into a libabigail ABI Corpus.
@@ -16025,22 +14868,26 @@ read_debug_info_into_corpus(read_context& ctxt)
 	{
 	  string_elf_symbols_map_sptr exported_fn_symbols_map
 	    (new string_elf_symbols_map_type);
-	  add_fn_symbols_to_map(*ctxt.linux_exported_fn_syms(),
-				*exported_fn_symbols_map,
-				ctxt);
-	  add_fn_symbols_to_map(*ctxt.linux_exported_gpl_fn_syms(),
-				*exported_fn_symbols_map,
-				ctxt);
+	  auto filter = ctxt.symtab()->make_filter();
+	  filter.set_functions();
+
+	  for (const auto& symbol :
+	       symtab_reader::filtered_symtab(*ctxt.symtab(), filter))
+	    {
+	      (*exported_fn_symbols_map)[symbol->get_name()].push_back(symbol);
+	    }
+
 	  ctxt.current_corpus()->set_fun_symbol_map(exported_fn_symbols_map);
 
-	  string_elf_symbols_map_sptr exported_var_symbols_map
-	    (new string_elf_symbols_map_type);
-	  add_var_symbols_to_map(*ctxt.linux_exported_var_syms(),
-				 *exported_var_symbols_map,
-				 ctxt);
-	  add_var_symbols_to_map(*ctxt.linux_exported_gpl_var_syms(),
-				 *exported_var_symbols_map,
-				 ctxt);
+	  string_elf_symbols_map_sptr exported_var_symbols_map(
+	      new string_elf_symbols_map_type);
+	  filter = ctxt.symtab()->make_filter();
+	  filter.set_variables();
+	  for (const auto& symbol :
+	       symtab_reader::filtered_symtab(*ctxt.symtab(), filter))
+	    {
+	      (*exported_var_symbols_map)[symbol->get_name()].push_back(symbol);
+	    }
 	  ctxt.current_corpus()->set_var_symbol_map(exported_var_symbols_map);
 	}
       else
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 12/20] abg-elf-helpers: migrate ppc64 specific helpers
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (10 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 11/20] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-16 10:59     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 13/20] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
                     ` (8 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

This migrates more helpers to abg-elf-helpers:
  lookup_ppc64_elf_fn_entry_point_address  with dependencies
    read_uint64_from_array_of_bytes
    read_int_from_array_of_bytes

  address_is_in_opd_section  with dependency
    address_is_in_section

read_context::find_opd_section and read_context::opd_section_ are obsolete.

	* src/abg-dwarf-reader.cc (read_context::opd_section_): Delete.
	(read_context::find_opd_section): Delete.
	(read_context::read_uint64_from_array_of_bytes): Delete.
	(read_context::read_int_from_array_of_bytes): Delete.
	(read_context::lookup_ppc64_elf_fn_entry_point_address): Delete.
	(read_context::address_is_in_opd_section): Delete.
	(read_context::address_is_in_section): Delete.
	(read_context::load_symbol_maps_from_symtab_section): Adjust.
	* src/abg-elf-helpers.cc (read_int_from_array_of_bytes): New.
	(read_uint64_from_array_of_bytes): New.
	(lookup_ppc64_elf_fn_entry_point_address): New.
	(address_is_in_section): New.
	(address_is_in_opd_section): New.
	* src/abg-elf-helpers.h
	(lookup_ppc64_elf_fn_entry_point_address): New declaration.
	(address_is_in_opd_section): New declaration.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc | 208 +---------------------------------------
 src/abg-elf-helpers.cc  | 186 +++++++++++++++++++++++++++++++++++
 src/abg-elf-helpers.h   |   8 ++
 3 files changed, 198 insertions(+), 204 deletions(-)

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 693fae82040e..b2a7144afe9d 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -2141,10 +2141,6 @@ public:
   mutable Elf*			elf_handle_;
   string			elf_path_;
   mutable Elf_Scn*		symtab_section_;
-  // The "Official procedure descriptor section, aka .opd", used in
-  // ppc64 elf v1 binaries.  This section contains the procedure
-  // descriptors on that platform.
-  mutable Elf_Scn*		opd_section_;
   Dwarf_Die*			cur_tu_die_;
   mutable dwarf_expr_eval_context	dwarf_expr_eval_context_;
   // A set of maps (one per kind of die source) that associates a decl
@@ -2325,7 +2321,6 @@ public:
     elf_handle_ = 0;
     elf_path_ = elf_path;
     symtab_section_ = 0;
-    opd_section_ = 0;
     cur_tu_die_ =  0;
     exported_decls_builder_ = 0;
 
@@ -5312,19 +5307,6 @@ public:
     return symtab_section_;
   }
 
-  /// Return the "Official Procedure descriptors section."  This
-  /// section is named .opd, and is usually present only on PPC64
-  /// ELFv1 binaries.
-  ///
-  /// @return the .opd section, if found.  Return nil otherwise.
-  Elf_Scn*
-  find_opd_section() const
-  {
-    if (!opd_section_)
-      opd_section_ = elf_helpers::find_opd_section(elf_handle());
-    return opd_section_;
-  }
-
   /// Lookup an elf symbol, referred to by its index, from the .symtab
   /// section.
   ///
@@ -5436,152 +5418,6 @@ public:
     return sym;
   }
 
-  /// Read 8 bytes and convert their value into an uint64_t.
-  ///
-  /// @param bytes the array of bytes to read the next 8 bytes from.
-  /// Note that this array must be at least 8 bytes long.
-  ///
-  /// @param result where to store the resuting uint64_t that was read.
-  ///
-  /// @param is_big_endian if true, read the 8 bytes in Big Endian
-  /// mode, otherwise, read them in Little Endian.
-  ///
-  /// @param true if the 8 bytes could be read, false otherwise.
-  bool
-  read_uint64_from_array_of_bytes(const uint8_t	*bytes,
-				  bool			is_big_endian,
-				  uint64_t		&result) const
-  {
-    return read_int_from_array_of_bytes(bytes, 8, is_big_endian, result);
-  }
-
-  /// Read N bytes and convert their value into an integer type T.
-  ///
-  /// Note that N cannot be bigger than 8 for now. The type passed needs to be
-  /// at least of the size of number_of_bytes.
-  ///
-  /// @param bytes the array of bytes to read the next 8 bytes from.
-  /// Note that this array must be at least 8 bytes long.
-  ///
-  /// @param number_of_bytes the number of bytes to read.  This number
-  /// cannot be bigger than 8.
-  ///
-  /// @param is_big_endian if true, read the 8 bytes in Big Endian
-  /// mode, otherwise, read them in Little Endian.
-  ///
-  /// @param result where to store the resuting integer that was read.
-  ///
-  ///
-  /// @param true if the 8 bytes could be read, false otherwise.
-  template<typename T>
-  bool
-  read_int_from_array_of_bytes(const uint8_t	*bytes,
-			       unsigned char	number_of_bytes,
-			       bool		is_big_endian,
-			       T		&result) const
-  {
-    if (!bytes)
-      return false;
-
-    ABG_ASSERT(number_of_bytes <= 8);
-    ABG_ASSERT(number_of_bytes <= sizeof(T));
-
-    T res = 0;
-
-    const uint8_t *cur = bytes;
-    if (is_big_endian)
-      {
-	// In Big Endian, the most significant byte is at the lowest
-	// address.
-	const uint8_t* msb = cur;
-	res = *msb;
-
-	// Now read the remaining least significant bytes.
-	for (uint i = 1; i < number_of_bytes; ++i)
-	  res = (res << 8) | ((T)msb[i]);
-      }
-    else
-      {
-	// In Little Endian, the least significant byte is at the
-	// lowest address.
-	const uint8_t* lsb = cur;
-	res = *lsb;
-	// Now read the remaining most significant bytes.
-	for (uint i = 1; i < number_of_bytes; ++i)
-	  res = res | (((T)lsb[i]) << i * 8);
-      }
-
-    result = res;
-    return true;
-  }
-
-  /// Lookup the address of the function entry point that corresponds
-  /// to the address of a given function descriptor.
-  ///
-  /// On PPC64, a function pointer is the address of a function
-  /// descriptor.  Function descriptors are located in the .opd
-  /// section.  Each function descriptor is a triplet of three
-  /// addresses, each one on 64 bits.  Among those three address only
-  /// the first one is of any interest to us: the address of the entry
-  /// point of the function.
-  ///
-  /// This function returns the address of the entry point of the
-  /// function whose descriptor's address is given.
-  ///
-  /// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES
-  ///
-  /// https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/deeply_understand_64_bit_powerpc_elf_abi_function_descriptors?lang=en
-  ///
-  /// @param fn_desc_address the address of the function descriptor to
-  /// consider.
-  ///
-  /// @return the address of the entry point of the function whose
-  /// descriptor has the address @p fn_desc_address.  If there is no
-  /// .opd section (e.g because we are not on ppc64) or more generally
-  /// if the function descriptor could not be found then this function
-  /// just returns the address of the fuction descriptor.
-  GElf_Addr
-  lookup_ppc64_elf_fn_entry_point_address(GElf_Addr fn_desc_address) const
-  {
-    if (!elf_handle())
-      return fn_desc_address;
-
-    if (!architecture_is_ppc64(elf_handle()))
-      return fn_desc_address;
-
-    bool is_big_endian = architecture_is_big_endian(elf_handle());
-
-    Elf_Scn *opd_section = find_opd_section();
-    if (!opd_section)
-      return fn_desc_address;
-
-    GElf_Shdr header_mem;
-    // The section header of the .opd section.
-    GElf_Shdr *opd_sheader = gelf_getshdr(opd_section, &header_mem);
-
-    // The offset of the function descriptor entry, in the .opd
-    // section.
-    size_t fn_desc_offset = fn_desc_address - opd_sheader->sh_addr;
-    Elf_Data *elf_data = elf_rawdata(opd_section, 0);
-
-    // Ensure that the opd_section has at least 8 bytes, starting from
-    // the offset we want read the data from.
-    if (elf_data->d_size <= fn_desc_offset + 8)
-      return fn_desc_address;
-
-    // A pointer to the data of the .opd section, that we can actually
-    // do something with.
-    uint8_t * bytes = (uint8_t*) elf_data->d_buf;
-
-    // The resulting address we are looking for is going to be formed
-    // in this variable.
-    GElf_Addr result = 0;
-    ABG_ASSERT(read_uint64_from_array_of_bytes(bytes + fn_desc_offset,
-					   is_big_endian, result));
-
-    return result;
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5890,13 +5726,15 @@ public:
 		      // symbol that are in the .opd section.
 		      GElf_Addr fn_desc_addr = sym->st_value;
 		      GElf_Addr fn_entry_point_addr =
-			lookup_ppc64_elf_fn_entry_point_address(fn_desc_addr);
+			  lookup_ppc64_elf_fn_entry_point_address(
+			      elf_handle(), fn_desc_addr);
 		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
 			fun_entry_addr_sym_map().find(fn_entry_point_addr);
 
 		      if (it2 == fun_entry_addr_sym_map().end())
 			fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-		      else if (address_is_in_opd_section(fn_desc_addr))
+		      else if (address_is_in_opd_section(elf_handle(),
+							 fn_desc_addr))
 			{
 			  // Either
 			  //
@@ -6059,24 +5897,6 @@ public:
     return true;
   }
 
-  /// Return true if an address is in the ".opd" section that is
-  /// present on the ppc64 platform.
-  ///
-  /// @param addr the address to consider.
-  ///
-  /// @return true iff @p addr is designates a word that is in the
-  /// ".opd" section.
-  bool
-  address_is_in_opd_section(Dwarf_Addr addr)
-  {
-    Elf_Scn * opd_section = find_opd_section();
-    if (!opd_section)
-      return false;
-    if (address_is_in_section(addr, opd_section))
-      return true;
-    return false;
-  }
-
   /// Load the symbol maps if necessary.
   ///
   /// @return true iff the symbol maps has been loaded by this
@@ -6227,26 +6047,6 @@ public:
     return addr;
   }
 
-  /// Test if a given address is in a given section.
-  ///
-  /// @param addr the address to consider.
-  ///
-  /// @param section the section to consider.
-  bool
-  address_is_in_section(Dwarf_Addr addr, Elf_Scn* section) const
-  {
-    if (!section)
-      return false;
-
-    GElf_Shdr sheader_mem;
-    GElf_Shdr* sheader = gelf_getshdr(section, &sheader_mem);
-
-    if (sheader->sh_addr <= addr && addr <= sheader->sh_addr + sheader->sh_size)
-      return true;
-
-    return false;
-  }
-
   /// For a relocatable (*.o) elf file, this function expects an
   /// absolute address, representing a global variable symbol.  It
   /// then extracts the address of the {.data,.data1,.rodata,.bss}
diff --git a/src/abg-elf-helpers.cc b/src/abg-elf-helpers.cc
index 5130e5b64f7a..fb9f3af67bfc 100644
--- a/src/abg-elf-helpers.cc
+++ b/src/abg-elf-helpers.cc
@@ -848,6 +848,153 @@ architecture_is_big_endian(Elf* elf_handle)
   return is_big_endian;
 }
 
+/// Read N bytes and convert their value into an integer type T.
+///
+/// Note that N cannot be bigger than 8 for now. The type passed needs to be at
+/// least of the size of number_of_bytes.
+///
+/// @param bytes the array of bytes to read the next 8 bytes from.
+/// Note that this array must be at least 8 bytes long.
+///
+/// @param number_of_bytes the number of bytes to read.  This number
+/// cannot be bigger than 8.
+///
+/// @param is_big_endian if true, read the 8 bytes in Big Endian
+/// mode, otherwise, read them in Little Endian.
+///
+/// @param result where to store the resuting integer that was read.
+///
+///
+/// @param true if the 8 bytes could be read, false otherwise.
+template <typename T>
+bool
+read_int_from_array_of_bytes(const uint8_t* bytes,
+			     unsigned char  number_of_bytes,
+			     bool	    is_big_endian,
+			     T&		    result)
+{
+  if (!bytes)
+    return false;
+
+  ABG_ASSERT(number_of_bytes <= 8);
+  ABG_ASSERT(number_of_bytes <= sizeof(T));
+
+  T res = 0;
+
+  const uint8_t* cur = bytes;
+  if (is_big_endian)
+    {
+      // In Big Endian, the most significant byte is at the lowest
+      // address.
+      const uint8_t* msb = cur;
+      res = *msb;
+
+      // Now read the remaining least significant bytes.
+      for (uint i = 1; i < number_of_bytes; ++i)
+	res = (res << 8) | ((T)msb[i]);
+    }
+  else
+    {
+      // In Little Endian, the least significant byte is at the
+      // lowest address.
+      const uint8_t* lsb = cur;
+      res = *lsb;
+      // Now read the remaining most significant bytes.
+      for (uint i = 1; i < number_of_bytes; ++i)
+	res = res | (((T)lsb[i]) << i * 8);
+    }
+
+  result = res;
+  return true;
+}
+
+/// Read 8 bytes and convert their value into an uint64_t.
+///
+/// @param bytes the array of bytes to read the next 8 bytes from.
+/// Note that this array must be at least 8 bytes long.
+///
+/// @param result where to store the resuting uint64_t that was read.
+///
+/// @param is_big_endian if true, read the 8 bytes in Big Endian
+/// mode, otherwise, read them in Little Endian.
+///
+/// @param true if the 8 bytes could be read, false otherwise.
+bool
+read_uint64_from_array_of_bytes(const uint8_t* bytes,
+				bool	       is_big_endian,
+				uint64_t&      result)
+{
+  return read_int_from_array_of_bytes(bytes, 8, is_big_endian, result);
+}
+
+
+/// Lookup the address of the function entry point that corresponds
+/// to the address of a given function descriptor.
+///
+/// On PPC64, a function pointer is the address of a function
+/// descriptor.  Function descriptors are located in the .opd
+/// section.  Each function descriptor is a triplet of three
+/// addresses, each one on 64 bits.  Among those three address only
+/// the first one is of any interest to us: the address of the entry
+/// point of the function.
+///
+/// This function returns the address of the entry point of the
+/// function whose descriptor's address is given.
+///
+/// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES
+///
+/// https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/deeply_understand_64_bit_powerpc_elf_abi_function_descriptors?lang=en
+///
+/// @param fn_desc_address the address of the function descriptor to
+/// consider.
+///
+/// @return the address of the entry point of the function whose
+/// descriptor has the address @p fn_desc_address.  If there is no
+/// .opd section (e.g because we are not on ppc64) or more generally
+/// if the function descriptor could not be found then this function
+/// just returns the address of the fuction descriptor.
+GElf_Addr
+lookup_ppc64_elf_fn_entry_point_address(Elf* elf_handle, GElf_Addr fn_desc_address)
+{
+  if (!elf_handle)
+    return fn_desc_address;
+
+  if (!architecture_is_ppc64(elf_handle))
+    return fn_desc_address;
+
+  bool is_big_endian = architecture_is_big_endian(elf_handle);
+
+  Elf_Scn* opd_section = find_opd_section(elf_handle);
+  if (!opd_section)
+    return fn_desc_address;
+
+  GElf_Shdr header_mem;
+  // The section header of the .opd section.
+  GElf_Shdr* opd_sheader = gelf_getshdr(opd_section, &header_mem);
+
+  // The offset of the function descriptor entry, in the .opd
+  // section.
+  size_t    fn_desc_offset = fn_desc_address - opd_sheader->sh_addr;
+  Elf_Data* elf_data = elf_rawdata(opd_section, 0);
+
+  // Ensure that the opd_section has at least 8 bytes, starting from
+  // the offset we want read the data from.
+  if (elf_data->d_size <= fn_desc_offset + 8)
+    return fn_desc_address;
+
+  // A pointer to the data of the .opd section, that we can actually
+  // do something with.
+  uint8_t* bytes = (uint8_t*)elf_data->d_buf;
+
+  // The resulting address we are looking for is going to be formed
+  // in this variable.
+  GElf_Addr result = 0;
+  ABG_ASSERT(read_uint64_from_array_of_bytes(bytes + fn_desc_offset,
+					     is_big_endian, result));
+
+  return result;
+}
+
 /// Test if the ELF binary denoted by a given ELF handle is a Linux
 /// Kernel Module.
 ///
@@ -1012,5 +1159,44 @@ maybe_adjust_et_rel_sym_addr_to_abs_addr(Elf* elf_handle, GElf_Sym* sym)
   return addr + section_header.sh_addr;
 }
 
+/// Test if a given address is in a given section.
+///
+/// @param addr the address to consider.
+///
+/// @param section the section to consider.
+bool
+address_is_in_section(Dwarf_Addr addr, Elf_Scn* section)
+{
+  if (!section)
+    return false;
+
+  GElf_Shdr  sheader_mem;
+  GElf_Shdr* sheader = gelf_getshdr(section, &sheader_mem);
+
+  if (sheader->sh_addr <= addr && addr <= sheader->sh_addr + sheader->sh_size)
+    return true;
+
+  return false;
+}
+
+/// Return true if an address is in the ".opd" section that is
+/// present on the ppc64 platform.
+///
+/// @param addr the address to consider.
+///
+/// @return true iff @p addr is designates a word that is in the
+/// ".opd" section.
+bool
+address_is_in_opd_section(Elf* elf_handle, Dwarf_Addr addr)
+{
+  Elf_Scn * opd_section = find_opd_section(elf_handle);
+  if (!opd_section)
+    return false;
+  if (address_is_in_section(addr, opd_section))
+    return true;
+  return false;
+}
+
+
 } // end namespace elf_helpers
 } // end namespace abigail
diff --git a/src/abg-elf-helpers.h b/src/abg-elf-helpers.h
index b4f3293d2bd6..a06232738052 100644
--- a/src/abg-elf-helpers.h
+++ b/src/abg-elf-helpers.h
@@ -12,6 +12,7 @@
 
 #include "config.h"
 
+#include <elfutils/libdwfl.h>
 #include <gelf.h>
 #include <string>
 
@@ -133,6 +134,10 @@ architecture_is_ppc64(Elf* elf_handle);
 bool
 architecture_is_big_endian(Elf* elf_handle);
 
+GElf_Addr
+lookup_ppc64_elf_fn_entry_point_address(Elf*	  elf_handle,
+					GElf_Addr fn_desc_address);
+
 //
 // Helpers for Linux Kernel Binaries
 //
@@ -162,6 +167,9 @@ is_dso(Elf* elf_handle);
 GElf_Addr
 maybe_adjust_et_rel_sym_addr_to_abs_addr(Elf* elf_handle, GElf_Sym* sym);
 
+bool
+address_is_in_opd_section(Elf* elf_handle, Dwarf_Addr addr);
+
 } // end namespace elf_helpers
 } // end namespace abigail
 
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 13/20] symtab_reader: add support for ppc64 ELFv1 binaries
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (11 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 12/20] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-16 11:39     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 14/20] abg-corpus: remove symbol maps and their setters Matthias Maennich
                     ` (7 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

When loading the symtab from an ppc64 binary, also keep track of the
function entry addresses as a key for the symbol lookup. That
accommodates the differences in DWARF pointing to the function entry
address while the symbol table points to the function pointer.

The implementation is mostly copied and adopted from abg-dwarf-reader's
read_context to add this functionality also to the new symtab reader.

	* src/abg-symtab-reader.cc (symtab::lookup_symbol): fall back to
	  lookup the address in entry_addr_symbol_map_.
	  (symtab::load): update the function entry address map for
	  ppc64 targets.
	  (symtab::update_function_entry_address_symbol_map): New
	  function implementation.
	* src/abg-symtab-reader.h
	  (symtab::entry_addr_symbol_map_): New data member.
	  (symtab::update_function_entry_address_symbol_map): New
	  function declaration.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-symtab-reader.cc | 93 ++++++++++++++++++++++++++++++++++++++--
 src/abg-symtab-reader.h  |  8 ++++
 2 files changed, 98 insertions(+), 3 deletions(-)

diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index 4576be2a0b42..7318fdfce52e 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -100,9 +100,15 @@ const elf_symbol_sptr&
 symtab::lookup_symbol(GElf_Addr symbol_addr) const
 {
   static const elf_symbol_sptr empty_result;
-  const auto it = addr_symbol_map_.find(symbol_addr);
-  if (it != addr_symbol_map_.end())
-      return it->second;
+  const auto addr_it = addr_symbol_map_.find(symbol_addr);
+  if (addr_it != addr_symbol_map_.end())
+    return addr_it->second;
+  else
+    {
+      const auto entry_it = entry_addr_symbol_map_.find(symbol_addr);
+      if (entry_it != entry_addr_symbol_map_.end())
+	return entry_it->second;
+    }
   return empty_result;
 }
 
@@ -197,6 +203,8 @@ symtab::load_(Elf*	       elf_handle,
   const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
   std::unordered_set<std::string> exported_kernel_symbols;
 
+  const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle);
+
   for (size_t i = 0; i < number_syms; ++i)
     {
       GElf_Sym *sym, sym_mem;
@@ -304,6 +312,10 @@ symtab::load_(Elf*	       elf_handle,
 	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
 								    sym);
 
+	  if (is_ppc64 && symbol_sptr->is_function())
+	    update_function_entry_address_symbol_map(elf_handle, sym,
+						     symbol_sptr);
+
 	  const auto result =
 	    addr_symbol_map_.emplace(symbol_value, symbol_sptr);
 	  if (!result.second)
@@ -364,5 +376,80 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
   return true;
 }
 
+void
+symtab::update_function_entry_address_symbol_map(
+    Elf*		   elf_handle,
+    GElf_Sym*		   native_symbol,
+    const elf_symbol_sptr& symbol_sptr)
+{
+
+  // For ppc64 ELFv1 binaries, we need to build a function entry point address
+  // -> function symbol map. This is in addition to the function pointer ->
+  // symbol map.  This is because on ppc64 ELFv1, a function pointer is
+  // different from a function entry point address.
+  //
+  // On ppc64 ELFv1, the DWARF DIE of a function references the address of the
+  // entry point of the function symbol; whereas the value of the function
+  // symbol is the function pointer. As these addresses are different, if I we
+  // want to get to the symbol of a function from its entry point address (as
+  // referenced by DWARF function DIEs) we must have the two maps I mentionned
+  // right above.
+  //
+  // In other words, we need a map that associates a function entry point
+  // address with the symbol of that function, to be able to get the function
+  // symbol that corresponds to a given function DIE, on ppc64.
+  //
+  // The value of the function pointer (the value of the symbol) usually refers
+  // to the offset of a table in the .opd section.  But sometimes, for a symbol
+  // named "foo", the corresponding symbol named ".foo" (note the dot before
+  // foo) which value is the entry point address of the function; that entry
+  // point address refers to a region in the .text section.
+  //
+  // So we are only interested in values of the symbol that are in the .opd
+  // section.
+  const GElf_Addr fn_desc_addr = native_symbol->st_value;
+  const GElf_Addr fn_entry_point_addr =
+    elf_helpers::lookup_ppc64_elf_fn_entry_point_address(elf_handle,
+							 fn_desc_addr);
+
+  const std::pair<addr_symbol_map_type::const_iterator, bool>& result =
+    entry_addr_symbol_map_.emplace(fn_entry_point_addr, symbol_sptr);
+
+  const addr_symbol_map_type::const_iterator it = result.first;
+  const bool was_inserted = result.second;
+  if (!was_inserted
+      && elf_helpers::address_is_in_opd_section(elf_handle, fn_desc_addr))
+    {
+      // Either
+      //
+      // 'symbol' must have been registered as an alias for
+      // it->second->get_main_symbol()
+      //
+      // Or
+      //
+      // if the name of 'symbol' is foo, then the name of it2->second is
+      // ".foo". That is, foo is the name of the symbol when it refers to the
+      // function descriptor in the .opd section and ".foo" is an internal name
+      // for the address of the entry point of foo.
+      //
+      // In the latter case, we just want to keep a reference to "foo" as .foo
+      // is an internal name.
+
+      const bool two_symbols_alias =
+	it->second->get_main_symbol()->does_alias(*symbol_sptr);
+      const bool symbol_is_foo_and_prev_symbol_is_dot_foo =
+	(it->second->get_name() == std::string(".") + symbol_sptr->get_name());
+
+      ABG_ASSERT(two_symbols_alias
+		 || symbol_is_foo_and_prev_symbol_is_dot_foo);
+
+      if (symbol_is_foo_and_prev_symbol_is_dot_foo)
+	// Let's just keep a reference of the symbol that the user sees in the
+	// source code (the one named foo). The symbol which name is prefixed
+	// with a "dot" is an artificial one.
+	entry_addr_symbol_map_[fn_entry_point_addr] = symbol_sptr;
+    }
+}
+
 } // end namespace symtab_reader
 } // end namespace abigail
diff --git a/src/abg-symtab-reader.h b/src/abg-symtab-reader.h
index 4c5e3b85c22d..2906bab818b0 100644
--- a/src/abg-symtab-reader.h
+++ b/src/abg-symtab-reader.h
@@ -251,12 +251,20 @@ private:
   typedef std::unordered_map<GElf_Addr, elf_symbol_sptr> addr_symbol_map_type;
   addr_symbol_map_type addr_symbol_map_;
 
+  /// Lookup map function entry address -> symbol
+  addr_symbol_map_type entry_addr_symbol_map_;
+
   bool
   load_(Elf* elf_handle, ir::environment* env, symbol_predicate is_suppressed);
 
   bool
   load_(string_elf_symbols_map_sptr function_symbol_map,
        string_elf_symbols_map_sptr variables_symbol_map);
+
+  void
+  update_function_entry_address_symbol_map(Elf*	     elf_handle,
+					   GElf_Sym* native_symbol,
+					   const elf_symbol_sptr& symbol_sptr);
 };
 
 /// Helper class to allow range-for loops on symtabs for C++11 and later code.
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 14/20] abg-corpus: remove symbol maps and their setters
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (12 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 13/20] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-16 18:08     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 15/20] dwarf reader: drop (now) unused code related to symbol table reading Matthias Maennich
                     ` (6 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

With the prework in previous commits, we are now able to drop the
public symbols maps in corpus::priv and replace them by private members
with access through getters. The getters use the new symtab
implementation to generate the maps on the fly. Setters are not required
anymore and are removed. Also remove redundant getters.

We could also remove the getters for the symbol maps and the local
caching variable and leave it all to lookup_symbol, but this is left for
a later change.

	* include/abg-corpus.h (corpus::set_fun_symbol_map): Remove
	method declaration.
	(corpus::set_undefined_fun_symbol_map): Likewise.
	(corpus::set_var_symbol_map): Likewise.
	(corpus::set_undefined_var_symbol_map): Likewise.
	(corpus::get_fun_symbol_map_sptr): Likewise.
	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
	(corpus::get_var_symbol_map_sptr): Likewise.
	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
	* src/abg-corpus-priv.h (corpus::priv::var_symbol_map): make
	private and mutable
	(corpus::priv::undefined_var_symbol_map): Likewise.
	(corpus::priv::fun_symbol_map): Likewise.
	(corpus::priv::undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_fun_symbol_map): New method declaration.
	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_var_symbol_map): Likewise.
	(corpus::priv::get_undefined_var_symbol_map): Likewise.
	* src/abg-corpus.cc (corpus::priv::get_fun_symbol_map): New
	method implementation.
	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
	(corpus::priv::get_var_symbol_map): Likewise.
	(corpus::priv::get_undefined_var_symbol_map): Likewise.
	(corpus::is_empty): depend on symtab only.
	(corpus::set_fun_symbol_map): Remove method.
	(corpus::set_undefined_fun_symbol_map): Likewise.
	(corpus::set_var_symbol_map): Likewise.
	(corpus::set_undefined_var_symbol_map): Likewise.
	(corpus::get_fun_symbol_map_sptr): Likewise.
	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
	(corpus::get_var_symbol_map_sptr): Likewise.
	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
	(corpus::get_fun_symbol_map): Use corpus::priv proxy method.
	(corpus::get_undefined_fun_symbol_map): Likewise.
	(corpus::get_var_symbol_map): Likewise.
	(corpus::get_undefined_var_symbol_map): Likewise.
	* src/abg-dwarf-reader.cc (read_debug_info_into_corpus): Do not
	set corpus symbol maps anymore.
	* src/abg-reader.cc (read_corpus_from_input): Likewise.
	* tests/test-symtab.cc (assert_symbol_count): Do not access the
	corpus symbol maps through sptr anymore.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust
	expected test output.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-corpus.h                          |  24 ---
 src/abg-corpus-priv.h                         |  21 ++-
 src/abg-corpus.cc                             | 139 +++++++-----------
 src/abg-dwarf-reader.cc                       |  45 ------
 src/abg-reader.cc                             |  11 --
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   2 -
 tests/test-symtab.cc                          |  15 +-
 7 files changed, 79 insertions(+), 178 deletions(-)

diff --git a/include/abg-corpus.h b/include/abg-corpus.h
index 425702182056..09f057d705f7 100644
--- a/include/abg-corpus.h
+++ b/include/abg-corpus.h
@@ -158,27 +158,9 @@ public:
   const symtab_reader::symtab_sptr&
   get_symtab() const;
 
-  void
-  set_fun_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_undefined_fun_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_var_symbol_map(string_elf_symbols_map_sptr);
-
-  void
-  set_undefined_var_symbol_map(string_elf_symbols_map_sptr);
-
-  const string_elf_symbols_map_sptr
-  get_fun_symbol_map_sptr() const;
-
   virtual const string_elf_symbols_map_type&
   get_fun_symbol_map() const;
 
-  const string_elf_symbols_map_sptr
-  get_undefined_fun_symbol_map_sptr() const;
-
   const string_elf_symbols_map_type&
   get_undefined_fun_symbol_map() const;
 
@@ -188,15 +170,9 @@ public:
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
-  const string_elf_symbols_map_sptr
-  get_var_symbol_map_sptr() const;
-
   virtual const string_elf_symbols_map_type&
   get_var_symbol_map() const;
 
-  const string_elf_symbols_map_sptr
-  get_undefined_var_symbol_map_sptr() const;
-
   const string_elf_symbols_map_type&
   get_undefined_var_symbol_map() const;
 
diff --git a/src/abg-corpus-priv.h b/src/abg-corpus-priv.h
index c8bf7f9d4cf6..27a6524c8b42 100644
--- a/src/abg-corpus-priv.h
+++ b/src/abg-corpus-priv.h
@@ -15,6 +15,7 @@
 #define __ABG_CORPUS_PRIV_H__
 
 #include "abg-internal.h"
+#include "abg-ir.h"
 #include "abg-regex.h"
 #include "abg-sptr-utils.h"
 #include "abg-symtab-reader.h"
@@ -681,11 +682,7 @@ struct corpus::priv
   string_tu_map_type				path_tu_map;
   vector<function_decl*>			fns;
   vector<var_decl*>				vars;
-  string_elf_symbols_map_sptr			var_symbol_map;
-  string_elf_symbols_map_sptr			undefined_var_symbol_map;
   symtab_reader::symtab_sptr			symtab_;
-  string_elf_symbols_map_sptr			fun_symbol_map;
-  string_elf_symbols_map_sptr			undefined_fun_symbol_map;
   // The type maps contained in this data member are populated if the
   // corpus follows the One Definition Rule and thus if there is only
   // one copy of a type with a given name, per corpus. Otherwise, if
@@ -706,10 +703,14 @@ private:
   priv();
 
   mutable abg_compat::optional<elf_symbols> sorted_var_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> var_symbol_map;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_var_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> undefined_var_symbol_map;
   mutable abg_compat::optional<elf_symbols> unrefed_var_symbols;
   mutable abg_compat::optional<elf_symbols> sorted_fun_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> fun_symbol_map;
   mutable abg_compat::optional<elf_symbols> sorted_undefined_fun_symbols;
+  mutable abg_compat::optional<string_elf_symbols_map_type> undefined_fun_symbol_map;
   mutable abg_compat::optional<elf_symbols> unrefed_fun_symbols;
 
 public:
@@ -731,18 +732,30 @@ public:
   const elf_symbols&
   get_sorted_fun_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_fun_symbol_map() const;
+
   const elf_symbols&
   get_sorted_undefined_fun_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_undefined_fun_symbol_map() const;
+
   const elf_symbols&
   get_unreferenced_function_symbols() const;
 
   const elf_symbols&
   get_sorted_var_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_var_symbol_map() const;
+
   const elf_symbols&
   get_sorted_undefined_var_symbols() const;
 
+  const string_elf_symbols_map_type&
+  get_undefined_var_symbol_map() const;
+
   const elf_symbols&
   get_unreferenced_variable_symbols() const;
 
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index f9f51a360707..94615bc727ff 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -331,6 +331,18 @@ corpus::priv::get_sorted_fun_symbols() const
   return *sorted_fun_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_fun_symbol_map() const
+{
+  if (!fun_symbol_map)
+    {
+      fun_symbol_map = string_elf_symbols_map_type();
+      for (const auto& symbol : get_sorted_fun_symbols())
+	(*fun_symbol_map)[symbol->get_name()].push_back(symbol);
+    }
+  return *fun_symbol_map;
+}
+
 /// Getter for a sorted vector of the function symbols undefined in
 /// this corpus.
 ///
@@ -352,6 +364,18 @@ corpus::priv::get_sorted_undefined_fun_symbols() const
   return *sorted_undefined_fun_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_undefined_fun_symbol_map() const
+{
+  if (!undefined_fun_symbol_map)
+    {
+      undefined_fun_symbol_map = string_elf_symbols_map_type();
+      for (const auto& symbol : get_sorted_undefined_fun_symbols())
+	(*undefined_fun_symbol_map)[symbol->get_name()].push_back(symbol);
+    }
+  return *undefined_fun_symbol_map;
+}
+
 /// Return a list of symbols that are not referenced by any function of
 /// corpus::get_functions().
 ///
@@ -425,6 +449,18 @@ corpus::priv::get_sorted_var_symbols() const
   return *sorted_var_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_var_symbol_map() const
+{
+  if (!var_symbol_map)
+    {
+      var_symbol_map = string_elf_symbols_map_type();
+      for (const auto& symbol : get_sorted_var_symbols())
+	(*var_symbol_map)[symbol->get_name()].push_back(symbol);
+    }
+  return *var_symbol_map;
+}
+
 /// Getter for a sorted vector of the variable symbols undefined in
 /// this corpus.
 ///
@@ -446,6 +482,18 @@ corpus::priv::get_sorted_undefined_var_symbols() const
   return *sorted_undefined_var_symbols;
 }
 
+const string_elf_symbols_map_type&
+corpus::priv::get_undefined_var_symbol_map() const
+{
+  if (!undefined_var_symbol_map)
+    {
+      undefined_var_symbol_map = string_elf_symbols_map_type();
+      for (const auto& symbol : get_sorted_undefined_var_symbols())
+	(*undefined_var_symbol_map)[symbol->get_name()].push_back(symbol);
+    }
+  return *undefined_var_symbol_map;
+}
+
 /// Return a list of symbols that are not referenced by any variable of
 /// corpus::get_variables().
 ///
@@ -883,10 +931,7 @@ corpus::is_empty() const
 	}
     }
   return (members_empty
-	  && priv_->fun_symbol_map
-	  && priv_->fun_symbol_map->empty()
-	  && priv_->var_symbol_map
-	  && priv_->var_symbol_map->empty()
+	  && !get_symtab()->has_symbols()
 	  && priv_->soname.empty()
 	  && priv_->needed.empty());
 }
@@ -920,69 +965,12 @@ const symtab_reader::symtab_sptr&
 corpus::get_symtab() const
 { return priv_->symtab_; }
 
-/// Setter of the function symbols map.
-///
-/// @param map a shared pointer to the new function symbols map.
-void
-corpus::set_fun_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->fun_symbol_map = map;}
-
-/// Setter for the map of function symbols that are undefined in this
-/// corpus.
-///
-/// @param map a new map for function symbols not defined in this
-/// corpus.  The key of the map is the name of the function symbol.
-/// The value is a vector of all the function symbols that have the
-/// same name.
-void
-corpus::set_undefined_fun_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->undefined_fun_symbol_map = map;}
-
-/// Setter of the variable symbols map.
-///
-/// @param map a shared pointer to the new variable symbols map.
-void
-corpus::set_var_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->var_symbol_map = map;}
-
-/// Setter for the map of variable symbols that are undefined in this
-/// corpus.
-///
-/// @param map a new map for variable symbols not defined in this
-/// corpus.  The key of the map is the name of the variable symbol.
-/// The value is a vector of all the variable symbols that have the
-/// same name.
-void
-corpus::set_undefined_var_symbol_map(string_elf_symbols_map_sptr map)
-{priv_->undefined_var_symbol_map = map;}
-
-/// Getter for the function symbols map.
-///
-/// @return a shared pointer to the function symbols map.
-const string_elf_symbols_map_sptr
-corpus::get_fun_symbol_map_sptr() const
-{
-  if (!priv_->fun_symbol_map)
-    priv_->fun_symbol_map.reset(new string_elf_symbols_map_type);
-  return priv_->fun_symbol_map;
-}
-
 /// Getter for the function symbols map.
 ///
 /// @return a reference to the function symbols map.
 const string_elf_symbols_map_type&
 corpus::get_fun_symbol_map() const
-{return *get_fun_symbol_map_sptr();}
-
-/// Getter for the map of function symbols that are undefined in this
-/// corpus.
-///
-/// @return the map of function symbols not defined in this corpus.
-/// The key of the map is the name of the function symbol.  The value
-/// is a vector of all the function symbols that have the same name.
-const string_elf_symbols_map_sptr
-corpus::get_undefined_fun_symbol_map_sptr() const
-{return priv_->undefined_fun_symbol_map;}
+{return priv_->get_fun_symbol_map();}
 
 /// Getter for the map of function symbols that are undefined in this
 /// corpus.
@@ -992,7 +980,7 @@ corpus::get_undefined_fun_symbol_map_sptr() const
 /// is a vector of all the function symbols that have the same name.
 const string_elf_symbols_map_type&
 corpus::get_undefined_fun_symbol_map() const
-{return *get_undefined_fun_symbol_map_sptr();}
+{return priv_->get_undefined_fun_symbol_map();}
 
 const elf_symbols&
 corpus::get_sorted_fun_symbols() const
@@ -1010,33 +998,12 @@ const elf_symbols&
 corpus::get_sorted_undefined_var_symbols() const
 { return priv_->get_sorted_undefined_var_symbols(); }
 
-/// Getter for the variable symbols map.
-///
-/// @return a shared pointer to the variable symbols map.
-const string_elf_symbols_map_sptr
-corpus::get_var_symbol_map_sptr() const
-{
-  if (!priv_->var_symbol_map)
-    priv_->var_symbol_map.reset(new string_elf_symbols_map_type);
-  return priv_->var_symbol_map;
-}
-
 /// Getter for the variable symbols map.
 ///
 /// @return a reference to the variabl symbols map.
 const string_elf_symbols_map_type&
 corpus::get_var_symbol_map() const
-{return *get_var_symbol_map_sptr();}
-
-/// Getter for the map of variable symbols that are undefined in this
-/// corpus.
-///
-/// @return the map of variable symbols not defined in this corpus.
-/// The key of the map is the name of the variable symbol.  The value
-/// is a vector of all the variable symbols that have the same name.
-const string_elf_symbols_map_sptr
-corpus::get_undefined_var_symbol_map_sptr() const
-{return priv_->undefined_var_symbol_map;}
+{return priv_->get_var_symbol_map();}
 
 /// Getter for the map of variable symbols that are undefined in this
 /// corpus.
@@ -1046,7 +1013,7 @@ corpus::get_undefined_var_symbol_map_sptr() const
 /// is a vector of all the variable symbols that have the same name.
 const string_elf_symbols_map_type&
 corpus::get_undefined_var_symbol_map() const
-{return *get_undefined_var_symbol_map_sptr();}
+{return priv_->get_undefined_var_symbol_map();}
 
 /// Look in the function symbols map for a symbol with a given name.
 ///
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index b2a7144afe9d..6d4e8ae23c53 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -14661,51 +14661,6 @@ read_debug_info_into_corpus(read_context& ctxt)
 
   // Set symbols information to the corpus.
   ctxt.current_corpus()->set_symtab(ctxt.symtab());
-  if (!get_ignore_symbol_table(ctxt))
-    {
-      if (ctxt.load_in_linux_kernel_mode()
-	  && is_linux_kernel(ctxt.elf_handle()))
-	{
-	  string_elf_symbols_map_sptr exported_fn_symbols_map
-	    (new string_elf_symbols_map_type);
-	  auto filter = ctxt.symtab()->make_filter();
-	  filter.set_functions();
-
-	  for (const auto& symbol :
-	       symtab_reader::filtered_symtab(*ctxt.symtab(), filter))
-	    {
-	      (*exported_fn_symbols_map)[symbol->get_name()].push_back(symbol);
-	    }
-
-	  ctxt.current_corpus()->set_fun_symbol_map(exported_fn_symbols_map);
-
-	  string_elf_symbols_map_sptr exported_var_symbols_map(
-	      new string_elf_symbols_map_type);
-	  filter = ctxt.symtab()->make_filter();
-	  filter.set_variables();
-	  for (const auto& symbol :
-	       symtab_reader::filtered_symtab(*ctxt.symtab(), filter))
-	    {
-	      (*exported_var_symbols_map)[symbol->get_name()].push_back(symbol);
-	    }
-	  ctxt.current_corpus()->set_var_symbol_map(exported_var_symbols_map);
-	}
-      else
-	{
-	  ctxt.current_corpus()->set_fun_symbol_map(ctxt.fun_syms_sptr());
-	  ctxt.current_corpus()->set_var_symbol_map(ctxt.var_syms_sptr());
-	}
-
-      ctxt.current_corpus()->set_undefined_fun_symbol_map
-	(ctxt.undefined_fun_syms_sptr());
-      ctxt.current_corpus()->set_undefined_var_symbol_map
-	(ctxt.undefined_var_syms_sptr());
-    }
-  else
-    {
-      ctxt.current_corpus()->set_fun_symbol_map(ctxt.fun_syms_sptr());
-      ctxt.current_corpus()->set_var_symbol_map(ctxt.var_syms_sptr());
-    }
 
   // Get out now if no debug info is found.
   if (!ctxt.dwarf())
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index c26689ae17ca..296e1e2115d1 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -1908,17 +1908,6 @@ read_corpus_from_input(read_context& ctxt)
       // are nil, due to potential suppression specifications.  That's
       // fine.
       corp.set_symtab(symtab_reader::symtab::load(fn_sym_db, var_sym_db));
-
-      if (fn_sym_db)
-	{
-	  corp.set_fun_symbol_map(fn_sym_db);
-	  fn_sym_db.reset();
-	}
-      if (var_sym_db)
-	{
-	  corp.set_var_symbol_map(var_sym_db);
-	  var_sym_db.reset();
-	}
     }
 
   ctxt.get_environment()->canonicalization_is_done(false);
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index 1167e5aa478a..4c9a766f1c7c 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -37,8 +37,6 @@
     <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
-  <elf-variable-symbols>
-  </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
     <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-1'/>
     <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='64' id='type-id-3'>
diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index ff467d8ad345..2df766de1c5c 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -89,17 +89,19 @@ assert_symbol_count(const std::string& path,
   REQUIRE((status & dwarf_reader::STATUS_OK));
   const corpus& corpus = *corpus_ptr;
 
+  size_t total_symbols = 0;
+
   if (function_symbols != N)
     {
       CHECK(corpus.get_sorted_fun_symbols().size() == function_symbols);
       CHECK(corpus.get_fun_symbol_map().size() == function_symbols);
-      CHECK(corpus.get_fun_symbol_map_sptr()->size() == function_symbols);
+      total_symbols += function_symbols;
     }
   if (variable_symbols != N)
     {
       CHECK(corpus.get_sorted_var_symbols().size() == variable_symbols);
       CHECK(corpus.get_var_symbol_map().size() == variable_symbols);
-      CHECK(corpus.get_var_symbol_map_sptr()->size() == variable_symbols);
+      total_symbols += variable_symbols;
     }
   if (undefined_variable_symbols != N)
     {
@@ -107,8 +109,7 @@ assert_symbol_count(const std::string& path,
 	    == undefined_function_symbols);
       CHECK(corpus.get_undefined_fun_symbol_map().size()
 	    == undefined_function_symbols);
-      CHECK(corpus.get_undefined_fun_symbol_map_sptr()->size()
-	    == undefined_function_symbols);
+      total_symbols += undefined_function_symbols;
     }
   if (undefined_function_symbols != N)
     {
@@ -116,10 +117,12 @@ assert_symbol_count(const std::string& path,
 	    == undefined_variable_symbols);
       CHECK(corpus.get_undefined_var_symbol_map().size()
 	    == undefined_variable_symbols);
-      CHECK(corpus.get_undefined_var_symbol_map_sptr()->size()
-	    == undefined_variable_symbols);
+      total_symbols += undefined_variable_symbols;
     }
 
+  // assert the corpus reports being empty consistently with the symbol count
+  CHECK(corpus.is_empty() == (total_symbols == 0));
+
   return corpus_ptr;
 }
 
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 15/20] dwarf reader: drop (now) unused code related to symbol table reading
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (13 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 14/20] abg-corpus: remove symbol maps and their setters Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-16 18:42     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 16/20] test-symtab: add tests for whitelisted functions Matthias Maennich
                     ` (5 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The introduction of the new symtab reader incorporated much of the
existing functionality. Now that the most code parts are migrated to the
new symtab reader, we can safely remove the old code paths.

Ignoring the symbol table is not a thing anymore. The new symtab reader
does read the symtab unconditionally for consistency reasons. Hence also
remove all functionality around conditional symtab reading.

	* include/abg-dwarf-reader.h (set_ignore_symbol_table): Remove.
	(get_ignore_symbol_table): Likewise.
	* src/abg-dwarf-reader.cc (add_symbol_to_map): Likewise.
	(read_context::options_type::ignore_symbol_table): Likewise.
	(read_context::options_type): Adjust.
	(read_context::fun_addr_sym_map_): Remove.
	(read_context::fun_entry_addr_sym_map_): Likewise.
	(read_context::fun_syms_): Likewise.
	(read_context::var_addr_sym_map_): Likewise.
	(read_context::var_syms_): Likewise.
	(read_context::undefined_fun_syms_): Likewise.
	(read_context::undefined_var_syms_): Likewise.
	(read_context::initialize): Adjust.
	(read_context::lookup_elf_symbol_from_index): Remove.
	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
	(read_context::fun_entry_addr_sym_map): Likewise.
	(read_context::fun_syms_sptr): Likewise.
	(read_context::fun_syms): Likewise.
	(read_context::var_syms_sptr): Likewise.
	(read_context::var_syms): Likewise.
	(read_context::undefined_fun_syms_sptr): Likewise.
	(read_context::undefined_var_syms_sptr): Likewise.
	(read_context::load_symbol_maps_from_symtab_section): Likewise.
	(read_context::load_symbol_maps): Likewise.
	(read_context::maybe_load_symbol_maps): Likewise.
	(set_ignore_symbol_table): Likewise.
	(get_ignore_symbol_table): Likewise.
	(create_default_var_sym): Likewise.
	(build_var_decl): Adjust.
	(function_is_suppressed): Likewise.
	(variable_is_suppressed): Likewise.
	(build_function_decl): Likewise.
	(add_symbol_to_map): Remove.
	(read_corpus_from_elf): Adjust.
	(build_corpus_group_from_kernel_dist_under): Likewise.
	* tools/abidw.cc (main): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-dwarf-reader.h |   6 -
 src/abg-dwarf-reader.cc    | 742 +------------------------------------
 src/abg-tools-utils.cc     |  13 -
 tools/abidw.cc             |   2 -
 4 files changed, 12 insertions(+), 751 deletions(-)

diff --git a/include/abg-dwarf-reader.h b/include/abg-dwarf-reader.h
index c80956ac7ac0..a328fb0e741b 100644
--- a/include/abg-dwarf-reader.h
+++ b/include/abg-dwarf-reader.h
@@ -180,12 +180,6 @@ set_drop_undefined_syms(read_context& ctxt,
 void
 set_do_log(read_context& ctxt, bool f);
 
-void
-set_ignore_symbol_table(read_context &ctxt, bool f);
-
-bool
-get_ignore_symbol_table(const read_context &ctxt);
-
 void
 set_environment(read_context& ctxt,
 		ir::environment*);
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 6d4e8ae23c53..91451208ef11 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -282,10 +282,6 @@ static bool
 operator<(const imported_unit_point& l, const imported_unit_point& r)
 {return l.offset_of_import < r.offset_of_import;}
 
-static void
-add_symbol_to_map(const elf_symbol_sptr& sym,
-		  string_elf_symbols_map_type& map);
-
 static bool
 get_parent_die(const read_context&	ctxt,
 	       const Dwarf_Die*	die,
@@ -1902,92 +1898,6 @@ struct dwarf_expr_eval_context
 // </location expression evaluation types>
 // ---------------------------------------
 
-/// An enum for the diffent kinds of linux kernel specific symbol
-/// tables.
-enum kernel_symbol_table_kind
-{
-  /// This is for an undefined kind of kernel symbol table.
-  KERNEL_SYMBOL_TABLE_KIND_UNDEFINED,
-
-  /// The __ksymtab symbol table.
-  KERNEL_SYMBOL_TABLE_KIND_KSYMTAB,
-
-  /// The __ksymtab_gpl symbol table.
-  KERNEL_SYMBOL_TABLE_KIND_KSYMTAB_GPL
-};
-
-/// An enum which specifies the format of the kernel symbol table
-/// (__ksymtab or __ksymtab_gpl).
-enum ksymtab_format
-{
-  /// This enumerator means that no __ksymtab format has been
-  /// determined yet.
-  UNDEFINED_KSYMTAB_FORMAT,
-
-  /// Before Linux v4.19, the format of the __ksymtab (and the
-  /// __ksymtab_gpl) section was the following.
-  ///
-  /// It's an array of entries.  Each entry describes a symbol.  Each
-  /// entry is made of two words.  each is of the word size of the
-  /// architecture. (8-bytes on a 64 bits arch and 4-bytes on a 32
-  /// bits arch) The first word is the address of a symbol.  The
-  /// second one is the address of a static global variable symbol
-  /// which value is the string representing the symbol name.  That
-  /// string is in the __ksymtab_strings section.
-  ///
-  /// So we are mostly interested in the symbol address part of each
-  /// entry.
-  ///
-  /// Thus this enumerator means that we have the pre v4.19 __ksymtab
-  /// section format.
-  PRE_V4_19_KSYMTAB_FORMAT,
-
-  /// Since, Linux v4.19, the format of the __ksymtab section has
-  /// changed.  The commit that changed is
-  /// https://github.com/torvalds/linux/commit/7290d58095712a89f845e1bca05334796dd49ed2.
-  ///
-  /// The __ksymtab and __ksymtab_gpl sections each are an array of
-  /// entries.  Each entry describes a symbol.  Each entry is made of
-  /// two words.  Each word is 4-bytes length.  The first word is the
-  /// 'place-relative' address of a symbol.  The second one is the
-  /// 'place-relative' address of a static global variable symbol
-  /// which value is the string representing the symbol name.  That
-  /// string is in the __ksymtab_strings section.
-  ///
-  /// Below is the description of what a "place-relative address"
-  /// means.  For that, we are going to define the meaning of four
-  /// values: 'N', 'S', 'O', and 'A'.
-  ///
-  /// *** 'N' and '0' ***
-  /// Suppose 'N' is the value of the number stored at offset 'O' (big
-  /// oh, not zero) in the __ksymtab section.
-  ///
-  /// *** 'S'***
-  /// That N designates a symbol in the symtab section which value is
-  /// S.  So S is the symbol value (in the .symtab symbol table)
-  /// referred to by the number N found at offset 'O'.
-  ///
-  /// *** 'A' ***
-  /// Also, suppose the __ksymtab section will be loaded at memory
-  /// address A, as indicated by the 'address' field of the section
-  /// header describing the __ksymtab section.
-  ///
-  /// So here is the formula that gives us S, from N:
-  ///
-  ///     S = N + O + A.
-  ///
-  /// Storing addresses this way does away with the need to have
-  /// relocations for the __ksymtab section.  So in effect, vmlinux
-  /// binaries implementing this new format of __ksymtab won't have
-  /// any .rela__ksymtab relocation section for the __ksymtab section
-  /// in particular (nor any relocation section at all).
-  ///
-  ///
-  /// Note that we are mostly interested in the symbol address part of
-  /// each entry.
-  V4_19_KSYMTAB_FORMAT
-}; // end enum ksymtab_format
-
 /// The context used to build ABI corpus from debug info in DWARF
 /// format.
 ///
@@ -2006,7 +1916,6 @@ public:
     environment*	env;
     bool		load_in_linux_kernel_mode;
     bool		load_all_types;
-    bool		ignore_symbol_table;
     bool		show_stats;
     bool		do_log;
 
@@ -2014,7 +1923,6 @@ public:
       : env(),
 	load_in_linux_kernel_mode(),
 	load_all_types(),
-	ignore_symbol_table(),
 	show_stats(),
 	do_log()
     {}
@@ -2211,19 +2119,6 @@ public:
   offset_offset_map_type	alternate_die_parent_map_;
   offset_offset_map_type	type_section_die_parent_map_;
   list<var_decl_sptr>		var_decls_to_add_;
-  addr_elf_symbol_sptr_map_sptr fun_addr_sym_map_;
-  // On PPC64, the function entry point address is different from the
-  // GElf_Sym::st_value value, which is the address of the descriptor
-  // of the function.  The map below thus associates the address of
-  // the entry point to the function symbol.  If we are not on ppc64,
-  // then this map ought to be empty.  Only the fun_addr_sym_map_ is
-  // used in that case.  On ppc64, though, both maps are used.
-  addr_elf_symbol_sptr_map_sptr fun_entry_addr_sym_map_;
-  string_elf_symbols_map_sptr	fun_syms_;
-  addr_elf_symbol_sptr_map_sptr var_addr_sym_map_;
-  string_elf_symbols_map_sptr	var_syms_;
-  string_elf_symbols_map_sptr	undefined_fun_syms_;
-  string_elf_symbols_map_sptr	undefined_var_syms_;
   vector<string>		dt_needed_;
   string			dt_soname_;
   string			elf_architecture_;
@@ -2359,13 +2254,6 @@ public:
     alternate_die_parent_map_.clear();
     type_section_die_parent_map_.clear();
     var_decls_to_add_.clear();
-    fun_addr_sym_map_.reset();
-    fun_entry_addr_sym_map_.reset();
-    fun_syms_.reset();
-    var_addr_sym_map_.reset();
-    var_syms_.reset();
-    undefined_fun_syms_.reset();
-    undefined_var_syms_.reset();
     dt_needed_.clear();
     dt_soname_.clear();
     elf_architecture_.clear();
@@ -5336,88 +5224,6 @@ public:
     return true;
   }
 
-  /// Given the index of a symbol into the symbol table of an ELF
-  /// file, look the symbol up, build an instace of @ref elf_symbol
-  /// and return it.
-  ///
-  /// @param symbol_index the index of the symbol into the symbol
-  /// table of the current elf file.
-  ///
-  /// @return the elf symbol found or nil if none was found.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_index(size_t symbol_index)
-  {
-    GElf_Sym s;
-    elf_symbol_sptr result =
-      lookup_elf_symbol_from_index(symbol_index, s);
-    return result;
-  }
-
-  /// Lookup an ELF symbol given its index into the .symtab section.
-  ///
-  /// This function returns both the native symbol (from libelf) and
-  /// the @p abigail::ir::elf_symbol instance, which is the
-  /// libabigail-specific representation of the symbol.
-  ///
-  /// @param symbol_index the index of the symbol to look for.
-  ///
-  /// @param native_sym output parameter.  This is set to the native
-  /// ELF symbol found iff the function returns a non-nil value.
-  ///
-  /// @return an instance of libabigail::ir::elf_symbol representing
-  /// the ELF symbol found, iff one was found.  Otherwise, returns
-  /// nil.
-  elf_symbol_sptr
-  lookup_elf_symbol_from_index(size_t symbol_index,
-			       GElf_Sym &native_sym)
-  {
-    if (!lookup_native_elf_symbol_from_index(symbol_index, native_sym))
-      return elf_symbol_sptr();
-
-    Elf_Scn* symtab_section = find_symbol_table_section();
-    if (!symtab_section)
-      return elf_symbol_sptr();
-
-    GElf_Shdr header_mem;
-    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
-					     &header_mem);
-
-    Elf_Data* symtab = elf_getdata(symtab_section, 0);
-    ABG_ASSERT(symtab);
-
-    bool sym_is_defined = native_sym.st_shndx != SHN_UNDEF;
-    bool sym_is_common = native_sym.st_shndx == SHN_COMMON; // this occurs in
-							    // relocatable
-							    // files.
-    const char* name_str = elf_strptr(elf_handle(),
-				      symtab_sheader->sh_link,
-				      native_sym.st_name);
-    if (name_str == 0)
-      name_str = "";
-
-    elf_symbol::version ver;
-    elf_helpers::get_version_for_symbol(elf_handle(), symbol_index,
-					sym_is_defined, ver);
-
-    elf_symbol::visibility vis =
-      stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(native_sym.st_other));
-
-    Elf_Scn* strings_section = find_ksymtab_strings_section(elf_handle());
-    size_t strings_ndx = strings_section
-      ? elf_ndxscn(strings_section)
-      : 0;
-
-    elf_symbol_sptr sym =
-      elf_symbol::create(env(), symbol_index, native_sym.st_size,
-			 name_str, stt_to_elf_symbol_type
-			 (GELF_ST_TYPE(native_sym.st_info)),
-			 stb_to_elf_symbol_binding
-			 (GELF_ST_BIND(native_sym.st_info)),
-			 sym_is_defined, sym_is_common, ver, vis,
-			 native_sym.st_shndx == strings_ndx);
-    return sym;
-  }
-
   /// Test if a given function symbol has been exported.
   ///
   /// @param symbol_address the address of the symbol we are looking
@@ -5497,102 +5303,6 @@ public:
     return symtab_;
   }
 
-  /// Getter for a pointer to the map that associates the address of
-  /// an entry point of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return a pointer to the map that associates the address of an
-  /// entry point of a function with the symbol of that function.
-  addr_elf_symbol_sptr_map_sptr&
-  fun_entry_addr_sym_map_sptr()
-  {
-    if (!fun_entry_addr_sym_map_ && !fun_addr_sym_map_)
-      maybe_load_symbol_maps();
-    if (architecture_is_ppc64(elf_handle()))
-      return fun_entry_addr_sym_map_;
-    return fun_addr_sym_map_;
-  }
-
-  /// Getter for the map that associates the address of an entry point
-  /// of a function with the symbol of that function.
-  ///
-  /// Note that on non-"PPC64 ELFv1" binaries, this map is the same as
-  /// the one that assciates the address of a function with the symbol
-  /// of that function.
-  ///
-  /// @return the map that associates the address of an entry point of
-  /// a function with the symbol of that function.
-  addr_elf_symbol_sptr_map_type&
-  fun_entry_addr_sym_map()
-  {return *fun_entry_addr_sym_map_sptr();}
-
-  /// Getter for the map of function symbols (name -> sym).
-  ///
-  /// @return a shared pointer to the map of function symbols.
-  const string_elf_symbols_map_sptr&
-  fun_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return fun_syms_;
-  }
-
-  /// Getter for the map of function symbols (name -> sym).
-  ///
-  /// @return a reference to the map of function symbols.
-  string_elf_symbols_map_type&
-  fun_syms()
-  {
-    maybe_load_symbol_maps();
-    return *fun_syms_;
-  }
-
-  /// Getter for the map of variable symbols (name -> sym)
-  ///
-  /// @return a shared pointer to the map of variable symbols.
-  const string_elf_symbols_map_sptr
-  var_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return var_syms_;
-  }
-
-  /// Getter for the map of variable symbols (name -> sym)
-  ///
-  /// @return a reference to the map of variable symbols.
-  string_elf_symbols_map_type&
-  var_syms()
-  {
-    maybe_load_symbol_maps();
-    return *var_syms_;
-  }
-
-  /// Getter for the map of undefined function symbols (name -> vector
-  /// of symbols).
-  ///
-  /// @return a (smart) pointer to the map of undefined function
-  /// symbols.
-  const string_elf_symbols_map_sptr&
-  undefined_fun_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return undefined_fun_syms_;
-  }
-
-  /// Getter for the map of undefined variable symbols (name -> vector
-  /// of symbols).
-  ///
-  /// @return a (smart) pointer to the map of undefined variable
-  /// symbols.
-  const string_elf_symbols_map_sptr&
-  undefined_var_syms_sptr() const
-  {
-    maybe_load_symbol_maps();
-    return undefined_var_syms_;
-  }
-
   /// Getter for the ELF dt_needed tag.
   const vector<string>&
   dt_needed() const
@@ -5608,232 +5318,6 @@ public:
   elf_architecture() const
   {return elf_architecture_;}
 
-  /// Load the maps address -> function symbol, address -> variable
-  /// symbol and the maps of function and variable undefined symbols.
-  ///
-  /// @param load_fun_map whether to load the address to function map.
-  ///
-  /// @param load_var_map whether to laod the address to variable map.
-  ///
-  /// @param load_undefined_fun_map whether to load the undefined
-  /// function map.
-  ///
-  /// @param load_undefined_var_map whether to laod the undefined
-  /// variable map.
-  ///
-  /// @return return true iff the maps have be loaded.
-  bool
-  load_symbol_maps_from_symtab_section(bool load_fun_map,
-				       bool load_var_map,
-				       bool load_undefined_fun_map,
-				       bool load_undefined_var_map)
-  {
-    Elf_Scn* symtab_section = find_symbol_table_section();
-    if (!symtab_section)
-      return false;
-
-    GElf_Shdr header_mem;
-    GElf_Shdr* symtab_sheader = gelf_getshdr(symtab_section,
-					     &header_mem);
-
-    // check for bogus section header
-    if (symtab_sheader->sh_entsize == 0)
-      return false;
-
-    size_t nb_syms = symtab_sheader->sh_size / symtab_sheader->sh_entsize;
-
-    Elf_Data* symtab = elf_getdata(symtab_section, 0);
-    if (!symtab)
-      return false;
-
-    GElf_Ehdr elf_header;
-    ABG_ASSERT(gelf_getehdr(elf_handle(), &elf_header));
-
-    bool is_ppc64 = architecture_is_ppc64(elf_handle());
-
-    for (size_t i = 0; i < nb_syms; ++i)
-      {
-	GElf_Sym* sym, sym_mem;
-	sym = gelf_getsym(symtab, i, &sym_mem);
-	ABG_ASSERT(sym);
-
-	if ((load_fun_map || load_undefined_fun_map)
-	    && (GELF_ST_TYPE(sym->st_info) == STT_FUNC
-		|| GELF_ST_TYPE(sym->st_info) == STT_GNU_IFUNC))
-	  {
-	    elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
-	    ABG_ASSERT(symbol);
-	    ABG_ASSERT(symbol->is_function());
-
-	    // If the symbol was suppressed by a suppression
-	    // specification then drop it on the floor.
-	    if (is_elf_symbol_suppressed(symbol))
-	      continue;
-
-	    if (load_fun_map && symbol->is_public())
-	      {
-		(*fun_syms_)[symbol->get_name()].push_back(symbol);
-
-		{
-		  GElf_Addr symbol_value =
-		      maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-							       sym);
-
-		  addr_elf_symbol_sptr_map_type::const_iterator it =
-		    fun_addr_sym_map_->find(symbol_value);
-		  if (it == fun_addr_sym_map_->end())
-		    (*fun_addr_sym_map_)[symbol_value] = symbol;
-		  else //if (sym->st_value != 0)
-		    it->second->get_main_symbol()->add_alias(symbol);
-
-		  if (is_ppc64)
-		    {
-		      // For ppc64 ELFv1 binaries, we need to build a
-		      // function entry point address -> function
-		      // symbol map.  This is in addition to the
-		      // function pointer -> symbol map.  This is
-		      // because on ppc64 ELFv1, a function pointer is
-		      // different from a function entry point
-		      // address.
-		      //
-		      // On ppc64 ELFv1, the DWARF DIE of a function
-		      // references the address of the entry point of
-		      // the function symbol; whereas the value of the
-		      // function symbol is the function pointer.  As
-		      // these addresses are different, if I we want
-		      // to get to the symbol of a function from its
-		      // entry point address (as referenced by DWARF
-		      // function DIEs) we must have the two maps I
-		      // mentionned right above.
-		      //
-		      // In other words, we need a map that associates
-		      // a function enty point address with the symbol
-		      // of that function, to be able to get the
-		      // function symbol that corresponds to a given
-		      // function DIE, on ppc64.
-		      //
-		      // The value of the function pointer (the value
-		      // of the symbol) usually refers to the offset
-		      // of a table in the .opd section.  But
-		      // sometimes, for a symbol named "foo", the
-		      // corresponding symbol named ".foo" (note the
-		      // dot before foo) which value is the entry
-		      // point address of the function; that entry
-		      // point address refers to a region in the .text
-		      // section.
-		      //
-		      // So we are only interested in values of the
-		      // symbol that are in the .opd section.
-		      GElf_Addr fn_desc_addr = sym->st_value;
-		      GElf_Addr fn_entry_point_addr =
-			  lookup_ppc64_elf_fn_entry_point_address(
-			      elf_handle(), fn_desc_addr);
-		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
-			fun_entry_addr_sym_map().find(fn_entry_point_addr);
-
-		      if (it2 == fun_entry_addr_sym_map().end())
-			fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-		      else if (address_is_in_opd_section(elf_handle(),
-							 fn_desc_addr))
-			{
-			  // Either
-			  //
-			  // 'symbol' must have been registered as an
-			  // alias for it2->second->get_main_symbol(),
-			  // right before the "if (ppc64)" statement.
-			  //
-			  // Or
-			  //
-			  // if the name of 'symbol' is foo, then the
-			  // name of it2->second is ".foo".  That is,
-			  // foo is the name of the symbol when it
-			  // refers to the function descriptor in the
-			  // .opd section and ".foo" is an internal
-			  // name for the address of the entry point
-			  // of foo.
-			  //
-			  // In the latter case, we just want to keep
-			  // a refernce to "foo" as .foo is an
-			  // internal name.
-
-			  bool two_symbols_alias =
-			    it2->second->get_main_symbol()->does_alias(*symbol);
-			  bool symbol_is_foo_and_prev_symbol_is_dot_foo =
-			    (it2->second->get_name()
-			     == string(".") + symbol->get_name());
-
-			  ABG_ASSERT(two_symbols_alias
-				 || symbol_is_foo_and_prev_symbol_is_dot_foo);
-
-			  if (symbol_is_foo_and_prev_symbol_is_dot_foo)
-			    // Let's just keep a reference of the
-			    // symbol that the user sees in the source
-			    // code (the one named foo).  The symbol
-			    // which name is prefixed with a "dot" is
-			    // an artificial one.
-			    fun_entry_addr_sym_map()[fn_entry_point_addr] = symbol;
-			}
-		    }
-		}
-	      }
-	    else if (load_undefined_fun_map && !symbol->is_defined())
-	      (*undefined_fun_syms_)[symbol->get_name()].push_back(symbol);
-	  }
-	else if ((load_var_map || load_undefined_var_map)
-		 && (GELF_ST_TYPE(sym->st_info) == STT_OBJECT
-		     || GELF_ST_TYPE(sym->st_info) == STT_TLS)
-		 // If the symbol is for an OBJECT, the index of the
-		 // section it refers to cannot be absolute.
-		 // Otherwise that OBJECT is not a variable.
-		 && (sym->st_shndx != SHN_ABS
-		     || GELF_ST_TYPE(sym->st_info) != STT_OBJECT ))
-	  {
-	    elf_symbol_sptr symbol = lookup_elf_symbol_from_index(i);
-	    ABG_ASSERT(symbol);
-	    ABG_ASSERT(symbol->is_variable());
-
-	    if (load_var_map && symbol->is_public())
-	      {
-		(*var_syms_)[symbol->get_name()].push_back(symbol);
-
-		if (symbol->is_common_symbol())
-		  {
-		    string_elf_symbols_map_type::iterator it =
-		      var_syms_->find(symbol->get_name());
-		    ABG_ASSERT(it != var_syms_->end());
-		    const elf_symbols& common_sym_instances = it->second;
-		    ABG_ASSERT(!common_sym_instances.empty());
-		    if (common_sym_instances.size() > 1)
-		      {
-			elf_symbol_sptr main_common_sym =
-			  common_sym_instances[0];
-			ABG_ASSERT(main_common_sym->get_name()
-			       == symbol->get_name());
-			ABG_ASSERT(main_common_sym->is_common_symbol());
-			ABG_ASSERT(symbol.get() != main_common_sym.get());
-			main_common_sym->add_common_instance(symbol);
-		      }
-		  }
-		else
-		  {
-		    GElf_Addr symbol_value =
-			maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
-								 sym);
-		    addr_elf_symbol_sptr_map_type::const_iterator it =
-		      var_addr_sym_map_->find(symbol_value);
-		    if (it == var_addr_sym_map_->end())
-		      (*var_addr_sym_map_)[symbol_value] = symbol;
-		    else
-		      it->second->get_main_symbol()->add_alias(symbol);
-		  }
-	      }
-	    else if (load_undefined_var_map && !symbol->is_defined())
-	      (*undefined_var_syms_)[symbol->get_name()].push_back(symbol);
-	  }
-      }
-    return true;
-  }
-
   /// Test if a given ELF symbol was suppressed by a suppression
   /// specification.
   ///
@@ -5849,71 +5333,6 @@ public:
 					       symbol->get_type()));
   }
 
-  /// Load the maps of function symbol address -> function symbol,
-  /// global variable symbol address -> variable symbol and also the
-  /// maps of function and variable undefined symbols.
-  ///
-  /// All these maps are loaded only if they are not loaded already.
-  ///
-  /// @return true iff everything went fine.
-  bool
-  load_symbol_maps()
-  {
-    bool load_fun_map = !fun_addr_sym_map_ ;
-    bool load_var_map = !var_addr_sym_map_;
-    bool load_undefined_fun_map = !undefined_fun_syms_;
-    bool load_undefined_var_map = !undefined_var_syms_;
-
-    if (!fun_syms_)
-      fun_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!fun_addr_sym_map_)
-      fun_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!fun_entry_addr_sym_map_ && architecture_is_ppc64(elf_handle()))
-      fun_entry_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!var_syms_)
-      var_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!var_addr_sym_map_)
-      var_addr_sym_map_.reset(new addr_elf_symbol_sptr_map_type);
-
-    if (!undefined_fun_syms_)
-      undefined_fun_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!undefined_var_syms_)
-      undefined_var_syms_.reset(new string_elf_symbols_map_type);
-
-    if (!options_.ignore_symbol_table)
-      {
-	if (load_symbol_maps_from_symtab_section(load_fun_map,
-						 load_var_map,
-						 load_undefined_fun_map,
-						 load_undefined_var_map))
-	    return true;
-	return false;
-      }
-    return true;
-  }
-
-  /// Load the symbol maps if necessary.
-  ///
-  /// @return true iff the symbol maps has been loaded by this
-  /// invocation.
-  bool
-  maybe_load_symbol_maps() const
-  {
-    if (!fun_addr_sym_map_
-	|| !var_addr_sym_map_
-	|| !fun_syms_
-	|| !var_syms_
-	|| !undefined_fun_syms_
-	|| !undefined_var_syms_)
-      return const_cast<read_context*>(this)->load_symbol_maps();
-    return false;
-  }
-
   /// Load the DT_NEEDED and DT_SONAME elf TAGS.
   ///
   void
@@ -6804,46 +6223,6 @@ void
 set_do_log(read_context& ctxt, bool f)
 {ctxt.do_log(f);}
 
-/// Setter of the "set_ignore_symbol_table" flag.
-///
-/// This flag tells if we should load information about ELF symbol
-/// tables.  Not loading the symbol tables is a speed optimization
-/// that is done when the set of symbols we care about is provided
-/// off-hand.  This is the case when we are supposed to analyze a
-/// Linux kernel binary.  In that case, because we have the white list
-/// of functions/variable symbols we care about, we don't need to
-/// analyze the symbol table; things are thus faster in that case.
-///
-/// By default, the symbol table is analyzed so this boolean is set to
-/// false.
-///
-/// @param ctxt the read context to consider.
-///
-/// @param f the new value of the flag.
-void
-set_ignore_symbol_table(read_context &ctxt, bool f)
-{ctxt.options_.ignore_symbol_table = f;}
-
-/// Getter of the "set_ignore_symbol_table" flag.
-///
-/// This flag tells if we should load information about ELF symbol
-/// tables.  Not loading the symbol tables is a speed optimization
-/// that is done when the set of symbols we care about is provided
-/// off-hand.  This is the case when we are supposed to analyze a
-/// Linux kernel binary.  In that case, because we have the white list
-/// of functions/variable symbols we care about, we don't need to
-/// analyze the symbol table; things are thus faster in that case.
-///
-/// By default, the symbol table is analyzed so this boolean is set to
-/// false.
-///
-/// @param ctxt the read context to consider.
-///
-/// @return the value of the flag.
-bool
-get_ignore_symbol_table(const read_context& ctxt)
-{return ctxt.options_.ignore_symbol_table;}
-
 /// Test if a given DIE is anonymous
 ///
 /// @param die the DIE to consider.
@@ -13967,33 +13346,6 @@ build_or_get_var_decl_if_not_suppressed(read_context&	ctxt,
   return var;
 }
 
-/// Create a variable symbol with a given name.
-///
-/// @param sym_name the name of the variable symbol.
-///
-/// @param env the environment to create the default symbol in.
-///
-/// @return the newly created symbol.
-static elf_symbol_sptr
-create_default_var_sym(const string& sym_name, const environment *env)
-{
-  elf_symbol::version ver;
-  elf_symbol::visibility vis = elf_symbol::DEFAULT_VISIBILITY;
-  elf_symbol_sptr result =
-    elf_symbol::create(env,
-		       /*symbol index=*/ 0,
-		       /*symbol size=*/ 0,
-		       sym_name,
-		       /*symbol type=*/ elf_symbol::OBJECT_TYPE,
-		       /*symbol binding=*/ elf_symbol::GLOBAL_BINDING,
-		       /*symbol is defined=*/ true,
-		       /*symbol is common=*/ false,
-		       /*symbol version=*/ ver,
-		       /*symbol_visibility=*/vis,
-		       /*is_linux_string_cst=*/false);
-  return result;
-}
-
 /// Build a @ref var_decl out of a DW_TAG_variable DIE.
 ///
 /// @param ctxt the read context to use.
@@ -14065,23 +13417,9 @@ build_var_decl(read_context&	ctxt,
   if (!result->get_symbol())
     {
       elf_symbol_sptr var_sym;
-      if (get_ignore_symbol_table(ctxt))
-	{
-	  string var_name =
-	    result->get_linkage_name().empty()
-	    ? result->get_name()
-	    : result->get_linkage_name();
-
-	  var_sym = create_default_var_sym(var_name, ctxt.env());
-	  ABG_ASSERT(var_sym);
-	  add_symbol_to_map(var_sym, ctxt.var_syms());
-	}
-      else
-	{
-	  Dwarf_Addr var_addr;
-	  if (ctxt.get_variable_address(die, var_addr))
-	    var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
-	}
+      Dwarf_Addr      var_addr;
+      if (ctxt.get_variable_address(die, var_addr))
+	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
 
       if (var_sym)
 	{
@@ -14145,15 +13483,9 @@ function_is_suppressed(const read_context& ctxt,
       Dwarf_Addr fn_addr;
       if (!ctxt.get_function_address(function_die, fn_addr))
 	return true;
-      if (!get_ignore_symbol_table(ctxt))
-	{
-	  // We were not instructed to ignore (avoid loading) the
-	  // symbol table, so we can rely on its presence to see if
-	  // the address corresponds to the address of an exported
-	  // function symbol.
-	  if (!ctxt.function_symbol_is_exported(fn_addr))
-	    return true;
-	}
+
+      if (!ctxt.function_symbol_is_exported(fn_addr))
+	return true;
     }
 
   return suppr::function_is_suppressed(ctxt, qualified_name,
@@ -14260,15 +13592,9 @@ variable_is_suppressed(const read_context& ctxt,
       Dwarf_Addr var_addr = 0;
       if (!ctxt.get_variable_address(variable_die, var_addr))
 	return true;
-      if (!get_ignore_symbol_table(ctxt))
-	{
-	  // We were not instructed to ignore (avoid loading) the
-	  // symbol table, so we can rely on its presence to see if
-	  // the address corresponds to the address of an exported
-	  // variable symbol.
-	  if (!ctxt.variable_symbol_is_exported(var_addr))
-	    return true;
-	}
+
+      if (!ctxt.variable_symbol_is_exported(var_addr))
+	return true;
     }
 
   return suppr::variable_is_suppressed(ctxt, qualified_name,
@@ -14556,23 +13882,9 @@ build_function_decl(read_context&	ctxt,
   if (!result->get_symbol())
     {
       elf_symbol_sptr fn_sym;
-      if (get_ignore_symbol_table(ctxt))
-	{
-	  string fn_name =
-	    result->get_linkage_name().empty()
-	    ? result->get_name()
-	    : result->get_linkage_name();
-
-	  fn_sym = create_default_fn_sym(fn_name, ctxt.env());
-	  ABG_ASSERT(fn_sym);
-	  add_symbol_to_map(fn_sym, ctxt.fun_syms());
-	}
-      else
-	{
-	  Dwarf_Addr fn_addr;
-	  if (ctxt.get_function_address(die, fn_addr))
-	    fn_sym = ctxt.function_symbol_is_exported(fn_addr);
-	}
+      Dwarf_Addr      fn_addr;
+      if (ctxt.get_function_address(die, fn_addr))
+	fn_sym = ctxt.function_symbol_is_exported(fn_addr);
 
       if (fn_sym && !ctxt.symbol_already_belongs_to_a_function(fn_sym))
 	{
@@ -14602,29 +13914,6 @@ build_function_decl(read_context&	ctxt,
   return result;
 }
 
-/// Add a symbol to a symbol map.
-///
-/// @param sym the symbol to add.
-///
-/// @param map the symbol map to add the symbol into.
-static void
-add_symbol_to_map(const elf_symbol_sptr& sym,
-		  string_elf_symbols_map_type& map)
-{
-  if (!sym)
-    return;
-
-  string_elf_symbols_map_type::iterator it = map.find(sym->get_name());
-  if (it == map.end())
-    {
-      elf_symbols syms;
-      syms.push_back(sym);
-      map[sym->get_name()] = syms;
-    }
-  else
-    it->second.push_back(sym);
-}
-
 /// Read all @ref abigail::translation_unit possible from the debug info
 /// accessible through a DWARF Front End Library handle, and stuff
 /// them into a libabigail ABI Corpus.
@@ -15946,13 +15235,6 @@ read_corpus_from_elf(read_context& ctxt, status& status)
 
   ctxt.load_elf_properties();  // DT_SONAME, DT_NEEDED, architecture
 
-  if (!get_ignore_symbol_table(ctxt))
-    {
-      // Read the symbols for publicly defined decls
-      if (!ctxt.load_symbol_maps())
-	status |= STATUS_NO_SYMBOLS_FOUND;
-    }
-
   if (!ctxt.symtab() || !ctxt.symtab()->has_symbols())
     status |= STATUS_NO_SYMBOLS_FOUND;
 
diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc
index 4d0191326dab..51043ece26dc 100644
--- a/src/abg-tools-utils.cc
+++ b/src/abg-tools-utils.cc
@@ -2573,12 +2573,6 @@ build_corpus_group_from_kernel_dist_under(const string&	root,
 		      << t
 		      << "\n";
 
-	  // If we have been given a whitelist of functions and
-	  // variable symbols to look at, then we can avoid loading
-	  // and analyzing the ELF symbol table.
-	  bool do_ignore_symbol_table = !kabi_wl_paths.empty();
-	  set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
-
 	  group.reset(new corpus_group(env.get(), root));
 
 	  set_read_context_corpus_group(*ctxt, group);
@@ -2618,13 +2612,6 @@ build_corpus_group_from_kernel_dist_under(const string&	root,
 				 /*read_all_types=*/false,
 				 /*linux_kernel_mode=*/true);
 
-	      // If we have been given a whitelist of functions and
-	      // variable symbols to look at, then we can avoid loading
-	      // and analyzing the ELF symbol table.
-	      bool do_ignore_symbol_table = !kabi_wl_paths.empty();
-
-	      set_ignore_symbol_table(*ctxt, do_ignore_symbol_table);
-
 	      load_generate_apply_suppressions(*ctxt, suppr_paths,
 					       kabi_wl_paths, supprs);
 
diff --git a/tools/abidw.cc b/tools/abidw.cc
index bf4de28324d0..22f640b4167b 100644
--- a/tools/abidw.cc
+++ b/tools/abidw.cc
@@ -814,8 +814,6 @@ main(int argc, char* argv[])
       set_show_stats(ctxt, opts.show_stats);
       set_suppressions(ctxt, opts);
       abigail::dwarf_reader::set_do_log(ctxt, opts.do_log);
-      if (!opts.kabi_whitelist_supprs.empty())
-	set_ignore_symbol_table(ctxt, true);
 
       if (opts.check_alt_debug_info_path)
 	{
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 16/20] test-symtab: add tests for whitelisted functions
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (14 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 15/20] dwarf reader: drop (now) unused code related to symbol table reading Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-17 11:07     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 17/20] symtab/dwarf-reader: allow hinting of main symbols for aliases Matthias Maennich
                     ` (4 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Extend the test functionality in test-symtab to allow processing of KMI
whitelists and add additional test cases for whitelist handling.

	* tests/data/Makefile.am: add new test files
	* tests/data/test-symtab/basic/one_function_one_variable_all.whitelist: New test file,
	* tests/data/test-symtab/basic/one_function_one_variable_function.whitelist: Likewise.
	* tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist: Likewise.
	* tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist: Likewise.
	* tests/test-symtab.cc (read_corpus): Add support for whitelists.
	(assert_symbol_count): Likewise.
	(Symtab::SymtabWithWhitelist): New testcase.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 tests/data/Makefile.am                        |   4 +
 .../one_function_one_variable_all.whitelist   |   3 +
 ...e_function_one_variable_function.whitelist |   2 +
 ...function_one_variable_irrelevant.whitelist |   2 +
 ...e_function_one_variable_variable.whitelist |   2 +
 tests/test-symtab.cc                          | 103 ++++++++++++++++--
 6 files changed, 109 insertions(+), 7 deletions(-)
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
 create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist

diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index a23dbc6343fa..42a94f62f67d 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -1861,6 +1861,10 @@ test-symtab/basic/no_debug_info.c \
 test-symtab/basic/no_debug_info.so \
 test-symtab/basic/one_function_one_variable.c \
 test-symtab/basic/one_function_one_variable.so \
+test-symtab/basic/one_function_one_variable_variable.whitelist \
+test-symtab/basic/one_function_one_variable_function.whitelist \
+test-symtab/basic/one_function_one_variable_irrelevant.whitelist \
+test-symtab/basic/one_function_one_variable_all.whitelist \
 test-symtab/basic/one_function_one_variable_undefined.c \
 test-symtab/basic/one_function_one_variable_undefined.so \
 test-symtab/basic/single_function.c \
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_all.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
new file mode 100644
index 000000000000..02ea310960ff
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
@@ -0,0 +1,3 @@
+[abi_whitelist]
+  exported_function
+  exported_variable
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_function.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
new file mode 100644
index 000000000000..893accc14118
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
@@ -0,0 +1,2 @@
+[abi_whitelist]
+  exported_function
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
new file mode 100644
index 000000000000..180ef9064e8f
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
@@ -0,0 +1,2 @@
+[abi_whitelist]
+  irrelevant
diff --git a/tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist b/tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist
new file mode 100644
index 000000000000..49d838f2c559
--- /dev/null
+++ b/tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist
@@ -0,0 +1,2 @@
+[abi_whitelist]
+  exported_variable
diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index 2df766de1c5c..ac853e895fef 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -11,11 +11,14 @@
 
 #include <iostream>
 #include <limits>
+#include <string>
 #include <vector>
 
 #include "abg-corpus.h"
 #include "abg-dwarf-reader.h"
+#include "abg-fwd.h"
 #include "abg-ir.h"
+#include "abg-tools-utils.h"
 #include "lib/catch.hpp"
 #include "test-utils.h"
 
@@ -26,12 +29,16 @@ using dwarf_reader::read_context_sptr;
 using dwarf_reader::read_corpus_from_elf;
 using ir::environment;
 using ir::environment_sptr;
+using suppr::suppressions_type;
 
 static const std::string test_data_dir =
     std::string(abigail::tests::get_src_dir()) + "/tests/data/test-symtab/";
 
 dwarf_reader::status
-read_corpus(const std::string path, corpus_sptr& result)
+read_corpus(
+  const std::string&		  path,
+  corpus_sptr&			  result,
+  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())
 {
   const std::string& absolute_path = test_data_dir + path;
 
@@ -41,6 +48,15 @@ read_corpus(const std::string path, corpus_sptr& result)
       absolute_path, debug_info_root_paths, env.get(),
       /* load_all_type = */ true, /* linux_kernel_mode = */ true);
 
+  if (!whitelist_paths.empty())
+    {
+      const suppressions_type& wl_suppr =
+	tools_utils::gen_suppr_spec_from_kernel_abi_whitelists(
+	  whitelist_paths);
+      REQUIRE_FALSE(wl_suppr.empty());
+      dwarf_reader::add_read_context_suppressions(*ctxt, wl_suppr);
+    }
+
   dwarf_reader::status status = dwarf_reader::STATUS_UNKNOWN;
   result = read_corpus_from_elf(*ctxt, status);
 
@@ -76,14 +92,17 @@ TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
 #define N std::numeric_limits<size_t>::max()
 
 corpus_sptr
-assert_symbol_count(const std::string& path,
-		    size_t	       function_symbols = 0,
-		    size_t	       variable_symbols = 0,
-		    size_t	       undefined_function_symbols = 0,
-		    size_t	       undefined_variable_symbols = 0)
+assert_symbol_count(
+  const std::string&		  path,
+  size_t			  function_symbols = 0,
+  size_t			  variable_symbols = 0,
+  size_t			  undefined_function_symbols = 0,
+  size_t			  undefined_variable_symbols = 0,
+  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())
 {
   corpus_sptr		     corpus_ptr;
-  const dwarf_reader::status status = read_corpus(path, corpus_ptr);
+  const dwarf_reader::status status =
+    read_corpus(path, corpus_ptr, whitelist_paths);
   REQUIRE(corpus_ptr);
 
   REQUIRE((status & dwarf_reader::STATUS_OK));
@@ -188,6 +207,76 @@ TEST_CASE("Symtab::SimpleSymtabs", "[symtab, basic]")
   }
 }
 
+TEST_CASE("Symtab::SymtabWithWhitelist", "[symtab, whitelist]")
+{
+  GIVEN("a binary with one function and one variable exported")
+  {
+    const std::string binary = "basic/one_function_one_variable.so";
+
+    GIVEN("we read the binary without any whitelists")
+    {
+      const corpus_sptr& corpus = assert_symbol_count(binary, 1, 1);
+      CHECK(corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+
+    GIVEN("we read the binary with all symbols on the whitelists")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(test_data_dir
+			   + "basic/one_function_one_variable_all.whitelist");
+      const corpus_sptr& corpus =
+	assert_symbol_count(binary, 1, 1, 0, 0, whitelists);
+      CHECK(corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+
+    GIVEN("we read the binary with only irrelevant symbols whitelisted")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(
+	test_data_dir
+	+ "basic/one_function_one_variable_irrelevant.whitelist");
+
+      corpus_sptr		 corpus_ptr;
+      const dwarf_reader::status status =
+	read_corpus(binary, corpus_ptr, whitelists);
+      REQUIRE(!corpus_ptr);
+      REQUIRE((status & dwarf_reader::STATUS_NO_SYMBOLS_FOUND));
+    }
+
+    GIVEN("we read the binary with only the function whitelisted")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(
+	test_data_dir + "basic/one_function_one_variable_function.whitelist");
+      const corpus_sptr& corpus =
+	assert_symbol_count(binary, 1, 0, 0, 0, whitelists);
+      CHECK(corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+
+    GIVEN("we read the binary with only the variable whitelisted")
+    {
+      std::vector<std::string> whitelists;
+      whitelists.push_back(
+	test_data_dir + "basic/one_function_one_variable_variable.whitelist");
+      const corpus_sptr& corpus =
+	assert_symbol_count(binary, 0, 1, 0, 0, whitelists);
+      CHECK(!corpus->lookup_function_symbol("exported_function"));
+      CHECK(!corpus->lookup_variable_symbol("exported_function"));
+      CHECK(corpus->lookup_variable_symbol("exported_variable"));
+      CHECK(!corpus->lookup_function_symbol("exported_variable"));
+    }
+  }
+}
+
 static const char* kernel_versions[] = { "4.14", "4.19", "5.4", "5.6" };
 static const size_t nr_kernel_versions =
     sizeof(kernel_versions) / sizeof(kernel_versions[0]);
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 17/20] symtab/dwarf-reader: allow hinting of main symbols for aliases
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (15 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 16/20] test-symtab: add tests for whitelisted functions Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-17 13:40     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 18/20] dwarf-reader/writer: consider aliases when dealing with suppressions Matthias Maennich
                     ` (3 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

In case of aliased symbols, the "main symbol" cannot be deduced from
the symtab as this solely contains a name->addr mapping and aliases
are represented by multiple names resolving to the same address.
Therefore the main symbol can only be picked rather randomly and
unpredictable.

Unlike DWARF, which contains a single symbol entry for only the main
symbol. Hence we can (late) detect the main symbol. Exploiting that
property allows to correct the addr->symbol lookup in the symtab to
return the correct main symbol and it also allows to correct the aliased
symbols to maintain the correct main symbol.

This patch adds the `update_main_symbol` functionality to `elf_symbol`
to update the main symbol by name (ELF symbols need unique names) and
adds `update_main_symbol` to `symtab` that makes use of said new method.

When we discover a main symbol during DWARF reading, we instruct the
symtab to update the mapping.

This creates consistent representations across different builds of the
same binary with the same ABI by pinning down the main symbol to the
defined one. Knowing the main symbol also helps to keep the correct
dwarf information in the representation in the presence of symbol
suppressions. A later patch will address that.

Some test cases in tests/data need adjustment and they have all been
verified to be valid changes.

- main symbol changed for various elf symbols
  - test-annotate/test15-pr18892.so.abi
  - test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
  - test-annotate/test3.so.abi
  - test-read-dwarf/test15-pr18892.so.abi
  - test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
  - test-read-dwarf/test3.so.abi
  - test-read-dwarf/test3.so.hash.abi

- due to main symbol changes, the symbol diff needs to be corrected
  - test-diff-dwarf/test12-report.txt
  - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
  - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt

- the test scenario needed adjustments as the main symbol changed
  - test-diff-suppr/test23-alias-filter-4.suppr
  - test-diff-suppr/test23-alias-filter-report-0.txt
  - test-diff-suppr/test23-alias-filter-report-2.txt

As usual, the complete changelog follows.

	* include/abg-ir.h (elf_symbol::update_main_symbol): New method.
	* include/abg-symtab-reader.h (symtab::update_main_symbol): New method.
	* src/abg-dwarf-reader.cc
	(build_var_decl): Hint symtab about main symbol discovered in DWARF.
	(build_function_decl): Likewise.
	* src/abg-ir.cc (elf_symbol::get_main_symbol): Lock the weak_ptr
	  on access in both overloads.
	(update_main_symbol): New method to allow updating the main symbol.
	* src/abg-symtab-reader.cc (symtab::update_main_symbol): New method.
	* data/Makefile.am: Add new test data files.
	* tests/data/test-annotate/test15-pr18892.so.abi: Updated test file.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
	* tests/data/test-annotate/test2.so.abi: Likewise.
	* tests/data/test-annotate/test3.so.abi: Likewise.
	* tests/data/test-diff-dwarf/test12-report.txt: Likewise.
	* tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Likewise.
	* tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise.
	* tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise.
	* tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: Likewise.
	* tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: Likewise.
	* tests/data/test-diff-suppr/test23-alias-filter-4.suppr: Likewise.
	* tests/data/test-diff-suppr/test23-alias-filter-report-0.txt: Likewise.
	* tests/data/test-diff-suppr/test23-alias-filter-report-2.txt: Likewise.
	* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
	* tests/data/test-read-dwarf/test2.so.abi: Likewise.
	* tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise.
	* tests/data/test-read-dwarf/test3.so.abi: Likewise.
	* tests/data/test-read-dwarf/test3.so.hash.abi: Likewise.
	* tests/data/test-symtab/basic/aliases.c: New test source file.
	* tests/data/test-symtab/basic/aliases.so: Likewise.
	* tests/test-symtab.cc (Symtab::AliasedFunctionSymbols): New test case.
	(Symtab::AliasedVariableSymbols): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h                              |    3 +
 src/abg-dwarf-reader.cc                       |   16 +-
 src/abg-ir.cc                                 |   47 +-
 src/abg-symtab-reader.cc                      |   31 +
 src/abg-symtab-reader.h                       |    3 +
 tests/data/Makefile.am                        |    2 +
 .../test5-fn-changed-report-0.txt             |    4 -
 .../test5-fn-changed-report-1.txt             |    4 -
 .../data/test-annotate/test15-pr18892.so.abi  |  918 +++++++--------
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
 tests/data/test-annotate/test2.so.abi         |   12 +-
 tests/data/test-annotate/test3.so.abi         |    6 +-
 tests/data/test-diff-dwarf/test12-report.txt  |    7 +
 .../test36-ppc64-aliases-report-0.txt         |    4 +-
 .../test42-PR21296-clanggcc-report0.txt       |    6 +-
 .../test31-pr18535-libstdc++-report-0.txt     |    6 +-
 .../test31-pr18535-libstdc++-report-1.txt     |    6 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-0.txt |    6 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-1.txt |    6 +-
 .../test23-alias-filter-4.suppr               |    2 +-
 .../test23-alias-filter-report-0.txt          |    4 +-
 .../test23-alias-filter-report-2.txt          |    4 +-
 .../PR22015-libboost_iostreams.so.abi         |   48 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    |    6 +-
 .../test-read-dwarf/test10-pr18818-gcc.so.abi |  192 +--
 .../test-read-dwarf/test11-pr18828.so.abi     |  516 ++++----
 .../test-read-dwarf/test12-pr18844.so.abi     |   66 +-
 .../test-read-dwarf/test15-pr18892.so.abi     |  918 +++++++--------
 .../test-read-dwarf/test16-pr18904.so.abi     |  990 ++++++++--------
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
 tests/data/test-read-dwarf/test2.so.abi       |   12 +-
 tests/data/test-read-dwarf/test2.so.hash.abi  |   12 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 1042 ++++++++---------
 tests/data/test-read-dwarf/test3.so.abi       |    6 +-
 tests/data/test-read-dwarf/test3.so.hash.abi  |    6 +-
 tests/data/test-symtab/basic/aliases.c        |   13 +
 tests/data/test-symtab/basic/aliases.so       |  Bin 0 -> 17176 bytes
 tests/test-symtab.cc                          |   47 +
 38 files changed, 2619 insertions(+), 2472 deletions(-)
 create mode 100644 tests/data/test-symtab/basic/aliases.c
 create mode 100755 tests/data/test-symtab/basic/aliases.so

diff --git a/include/abg-ir.h b/include/abg-ir.h
index 23ba16bd327b..a14ee1c23784 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -954,6 +954,9 @@ public:
   bool
   is_main_symbol() const;
 
+  elf_symbol_sptr
+  update_main_symbol(const std::string&);
+
   elf_symbol_sptr
   get_next_alias() const;
 
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 91451208ef11..7d7ffbdc8ebe 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -13419,7 +13419,13 @@ build_var_decl(read_context&	ctxt,
       elf_symbol_sptr var_sym;
       Dwarf_Addr      var_addr;
       if (ctxt.get_variable_address(die, var_addr))
-	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
+	{
+	  ctxt.symtab()->update_main_symbol(var_addr,
+					    result->get_linkage_name().empty()
+					      ? result->get_name()
+					      : result->get_linkage_name());
+	  var_sym = ctxt.variable_symbol_is_exported(var_addr);
+	}
 
       if (var_sym)
 	{
@@ -13884,7 +13890,13 @@ build_function_decl(read_context&	ctxt,
       elf_symbol_sptr fn_sym;
       Dwarf_Addr      fn_addr;
       if (ctxt.get_function_address(die, fn_addr))
-	fn_sym = ctxt.function_symbol_is_exported(fn_addr);
+	{
+	  ctxt.symtab()->update_main_symbol(fn_addr,
+					    result->get_linkage_name().empty()
+					      ? result->get_name()
+					      : result->get_linkage_name());
+	  fn_sym = ctxt.function_symbol_is_exported(fn_addr);
+	}
 
       if (fn_sym && !ctxt.symbol_already_belongs_to_a_function(fn_sym))
 	{
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 1ba95dd6c14f..0b31f2014189 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -1754,14 +1754,14 @@ elf_symbol::set_is_suppressed(bool is_suppressed)
 ///@return the main symbol.
 const elf_symbol_sptr
 elf_symbol::get_main_symbol() const
-{return elf_symbol_sptr(priv_->main_symbol_);}
+{return priv_->main_symbol_.lock();}
 
 /// Get the main symbol of an alias chain.
 ///
 ///@return the main symbol.
 elf_symbol_sptr
 elf_symbol::get_main_symbol()
-{return elf_symbol_sptr(priv_->main_symbol_);}
+{return priv_->main_symbol_.lock();}
 
 /// Tests whether this symbol is the main symbol.
 ///
@@ -1838,6 +1838,49 @@ elf_symbol::add_alias(const elf_symbol_sptr& alias)
   alias->priv_->main_symbol_ = get_main_symbol();
 }
 
+/// Update the main symbol for a group of aliased symbols
+///
+/// If after the construction of the symbols (in order of discovery), the
+/// actual main symbol can be identified (e.g. as the symbol that actually is
+/// defined in the code), this method offers a way of updating the main symbol
+/// through one of the aliased symbols.
+///
+/// For that, locate the new main symbol by name and update all references to
+/// the main symbol among the group of aliased symbols.
+///
+/// @param name the name of the main symbol
+///
+/// @return the new main elf_symbol
+elf_symbol_sptr
+elf_symbol::update_main_symbol(const std::string& name)
+{
+  ABG_ASSERT(is_main_symbol());
+  if (!has_aliases() || get_name() == name)
+    return get_main_symbol();
+
+  // find the new main symbol
+  elf_symbol_sptr new_main;
+  // we've already checked this; check the rest of the aliases
+  for (elf_symbol_sptr a = get_next_alias(); a.get() != this;
+       a = a->get_next_alias())
+    if (a->get_name() == name)
+      {
+	new_main = a;
+	break;
+      }
+
+  if (!new_main)
+    return get_main_symbol();
+
+  // now update all main symbol references
+  priv_->main_symbol_ = new_main;
+  for (elf_symbol_sptr a = get_next_alias(); a.get() != this;
+       a = a->get_next_alias())
+    a->priv_->main_symbol_ = new_main;
+
+  return new_main;
+}
+
 /// Return true if the symbol is a common one.
 ///
 /// @return true iff the symbol is common.
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index 7318fdfce52e..a769934e5c05 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -376,6 +376,37 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
   return true;
 }
 
+/// Notify the symtab about the name of the main symbol at a given address.
+///
+/// From just alone the symtab we can't guess the main symbol of a bunch of
+/// aliased symbols that all point to the same address. During processing of
+/// additional information (such as DWARF), this information becomes apparent
+/// and we can adjust the addr->symbol lookup map as well as the alias
+/// reference of the symbol objects.
+///
+/// @param addr the addr that we are updating the main symbol for
+/// @param name the name of the main symbol
+void
+symtab::update_main_symbol(GElf_Addr addr, const std::string& name)
+{
+  // get one symbol (i.e. the current main symbol)
+  elf_symbol_sptr symbol = lookup_symbol(addr);
+
+  // The caller might not know whether the addr is associated to an ELF symbol
+  // that we care about. E.g. the addr could be associated to an ELF symbol,
+  // but not one in .dynsym when looking at a DSO. Hence, early exit if the
+  // lookup failed.
+  if (!symbol)
+    return;
+
+  // determine the new main symbol by attempting an update
+  elf_symbol_sptr new_main = symbol->update_main_symbol(name);
+
+  // also update the default symbol we return when looked up by address
+  if (new_main)
+    addr_symbol_map_[addr] = new_main;
+}
+
 void
 symtab::update_function_entry_address_symbol_map(
     Elf*		   elf_handle,
diff --git a/src/abg-symtab-reader.h b/src/abg-symtab-reader.h
index 2906bab818b0..a621938c44d7 100644
--- a/src/abg-symtab-reader.h
+++ b/src/abg-symtab-reader.h
@@ -225,6 +225,9 @@ public:
   load(string_elf_symbols_map_sptr function_symbol_map,
        string_elf_symbols_map_sptr variables_symbol_map);
 
+  void
+  update_main_symbol(GElf_Addr addr, const std::string& name);
+
 private:
   /// Default constructor. Private to enforce creation by factory methods.
   symtab();
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 42a94f62f67d..d1358c9e9942 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -1853,6 +1853,8 @@ test-kmi-whitelist/whitelist-with-duplicate-entry \
 test-kmi-whitelist/whitelist-with-two-sections \
 \
 test-symtab/basic/Makefile \
+test-symtab/basic/aliases.c \
+test-symtab/basic/aliases.so \
 test-symtab/basic/empty.c \
 test-symtab/basic/empty.so \
 test-symtab/basic/link_against_me.c \
diff --git a/tests/data/test-abicompat/test5-fn-changed-report-0.txt b/tests/data/test-abicompat/test5-fn-changed-report-0.txt
index ccde357d75ce..04676908c7c2 100644
--- a/tests/data/test-abicompat/test5-fn-changed-report-0.txt
+++ b/tests/data/test-abicompat/test5-fn-changed-report-0.txt
@@ -15,7 +15,3 @@ have sub-types that are different from what application 'test5-fn-changed-app' e
         1 data member deletion:
           'unsigned char S1::m1', at offset 32 (in bits)
 
-  method S0::S0():
-    implicit parameter 0 of type 'S0*' has sub-type changes:
-      pointed to type 'struct S0' changed, as reported earlier
-
diff --git a/tests/data/test-abicompat/test5-fn-changed-report-1.txt b/tests/data/test-abicompat/test5-fn-changed-report-1.txt
index dbdcbe5e7607..b39f650de332 100644
--- a/tests/data/test-abicompat/test5-fn-changed-report-1.txt
+++ b/tests/data/test-abicompat/test5-fn-changed-report-1.txt
@@ -15,7 +15,3 @@ have sub-types that are different from what application 'test5-fn-changed-app' e
         1 data member deletion:
           'unsigned char S1::m1', at offset 32 (in bits) at test5-fn-changed-libapp-v0.h:11:1
 
-  method S0::S0():
-    implicit parameter 0 of type 'S0*' has sub-type changes:
-      pointed to type 'struct S0' changed at test5-fn-changed-libapp-v0.h:1:1, as reported earlier
-
diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi
index cacace2a09cf..a79557aa2391 100644
--- a/tests/data/test-annotate/test15-pr18892.so.abi
+++ b/tests/data/test-annotate/test15-pr18892.so.abi
@@ -193,7 +193,7 @@
     <!-- __close -->
     <elf-symbol name='__close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cxa_atexit -->
-    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___cxa_atexit' is-defined='yes'/>
+    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cxa_guard_abort -->
     <elf-symbol name='__cxa_guard_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cxa_guard_acquire -->
@@ -207,45 +207,45 @@
     <!-- __interceptor___close -->
     <elf-symbol name='__interceptor___close' type='func-type' binding='global-binding' visibility='default-visibility' alias='__close' is-defined='yes'/>
     <!-- __interceptor___cxa_atexit -->
-    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='__cxa_atexit' is-defined='yes'/>
     <!-- __interceptor___fxstat -->
     <elf-symbol name='__interceptor___fxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat' is-defined='yes'/>
     <!-- __interceptor___fxstat64 -->
     <elf-symbol name='__interceptor___fxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat64' is-defined='yes'/>
     <!-- __interceptor___isoc99_fscanf -->
-    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_fscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_scanf -->
-    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_scanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_sscanf -->
-    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_sscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_vfscanf -->
-    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vfscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_vscanf -->
-    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vscanf' is-defined='yes'/>
     <!-- __interceptor___isoc99_vsscanf -->
-    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vsscanf' is-defined='yes'/>
     <!-- __interceptor___libc_memalign -->
     <elf-symbol name='__interceptor___libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_memalign' is-defined='yes'/>
     <!-- __interceptor___lxstat -->
-    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat' is-defined='yes'/>
     <!-- __interceptor___lxstat64 -->
-    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat64' is-defined='yes'/>
     <!-- __interceptor___res_iclose -->
     <elf-symbol name='__interceptor___res_iclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='__res_iclose' is-defined='yes'/>
     <!-- __interceptor___sigsetjmp -->
     <elf-symbol name='__interceptor___sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __interceptor___xpg_strerror_r -->
-    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xpg_strerror_r' is-defined='yes'/>
     <!-- __interceptor___xstat -->
     <elf-symbol name='__interceptor___xstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat' is-defined='yes'/>
     <!-- __interceptor___xstat64 -->
-    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat64' is-defined='yes'/>
     <!-- __interceptor__exit -->
-    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='_exit' is-defined='yes'/>
     <!-- __interceptor__setjmp -->
     <elf-symbol name='__interceptor__setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __interceptor_abort -->
-    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' alias='abort' is-defined='yes'/>
     <!-- __interceptor_accept -->
     <elf-symbol name='__interceptor_accept' type='func-type' binding='global-binding' visibility='default-visibility' alias='accept' is-defined='yes'/>
     <!-- __interceptor_accept4 -->
@@ -253,7 +253,7 @@
     <!-- __interceptor_asctime -->
     <elf-symbol name='__interceptor_asctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime' is-defined='yes'/>
     <!-- __interceptor_asctime_r -->
-    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime_r' is-defined='yes'/>
     <!-- __interceptor_atexit -->
     <elf-symbol name='__interceptor_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='atexit' is-defined='yes'/>
     <!-- __interceptor_backtrace -->
@@ -261,69 +261,69 @@
     <!-- __interceptor_backtrace_symbols -->
     <elf-symbol name='__interceptor_backtrace_symbols' type='func-type' binding='global-binding' visibility='default-visibility' alias='backtrace_symbols' is-defined='yes'/>
     <!-- __interceptor_bind -->
-    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' alias='bind' is-defined='yes'/>
     <!-- __interceptor_calloc -->
-    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc' is-defined='yes'/>
     <!-- __interceptor_canonicalize_file_name -->
-    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='canonicalize_file_name' is-defined='yes'/>
     <!-- __interceptor_cfree -->
-    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='cfree' is-defined='yes'/>
     <!-- __interceptor_clock_getres -->
     <elf-symbol name='__interceptor_clock_getres' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_getres' is-defined='yes'/>
     <!-- __interceptor_clock_gettime -->
-    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_gettime' is-defined='yes'/>
     <!-- __interceptor_clock_settime -->
-    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_settime' is-defined='yes'/>
     <!-- __interceptor_close -->
-    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' alias='close' is-defined='yes'/>
     <!-- __interceptor_confstr -->
-    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='confstr' is-defined='yes'/>
     <!-- __interceptor_connect -->
-    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' alias='connect' is-defined='yes'/>
     <!-- __interceptor_creat -->
     <elf-symbol name='__interceptor_creat' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat' is-defined='yes'/>
     <!-- __interceptor_creat64 -->
     <elf-symbol name='__interceptor_creat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat64' is-defined='yes'/>
     <!-- __interceptor_ctime -->
-    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime' is-defined='yes'/>
     <!-- __interceptor_ctime_r -->
-    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime_r' is-defined='yes'/>
     <!-- __interceptor_dlclose -->
     <elf-symbol name='__interceptor_dlclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlclose' is-defined='yes'/>
     <!-- __interceptor_dlopen -->
     <elf-symbol name='__interceptor_dlopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlopen' is-defined='yes'/>
     <!-- __interceptor_drand48_r -->
-    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='drand48_r' is-defined='yes'/>
     <!-- __interceptor_dup -->
-    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup' is-defined='yes'/>
     <!-- __interceptor_dup2 -->
-    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup2' is-defined='yes'/>
     <!-- __interceptor_dup3 -->
     <elf-symbol name='__interceptor_dup3' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup3' is-defined='yes'/>
     <!-- __interceptor_epoll_create -->
     <elf-symbol name='__interceptor_epoll_create' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create' is-defined='yes'/>
     <!-- __interceptor_epoll_create1 -->
-    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create1' is-defined='yes'/>
     <!-- __interceptor_epoll_ctl -->
-    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_ctl' is-defined='yes'/>
     <!-- __interceptor_epoll_wait -->
-    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_wait' is-defined='yes'/>
     <!-- __interceptor_ether_aton -->
     <elf-symbol name='__interceptor_ether_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton' is-defined='yes'/>
     <!-- __interceptor_ether_aton_r -->
-    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton_r' is-defined='yes'/>
     <!-- __interceptor_ether_hostton -->
-    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_hostton' is-defined='yes'/>
     <!-- __interceptor_ether_line -->
-    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_line' is-defined='yes'/>
     <!-- __interceptor_ether_ntoa -->
     <elf-symbol name='__interceptor_ether_ntoa' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa' is-defined='yes'/>
     <!-- __interceptor_ether_ntoa_r -->
-    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa_r' is-defined='yes'/>
     <!-- __interceptor_ether_ntohost -->
-    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntohost' is-defined='yes'/>
     <!-- __interceptor_eventfd -->
-    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='eventfd' is-defined='yes'/>
     <!-- __interceptor_fclose -->
     <elf-symbol name='__interceptor_fclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='fclose' is-defined='yes'/>
     <!-- __interceptor_fflush -->
@@ -341,7 +341,7 @@
     <!-- __interceptor_frexp -->
     <elf-symbol name='__interceptor_frexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexp' is-defined='yes'/>
     <!-- __interceptor_frexpf -->
-    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpf' is-defined='yes'/>
     <!-- __interceptor_frexpl -->
     <elf-symbol name='__interceptor_frexpl' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpl' is-defined='yes'/>
     <!-- __interceptor_fscanf -->
@@ -353,19 +353,19 @@
     <!-- __interceptor_fstatfs -->
     <elf-symbol name='__interceptor_fstatfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs' is-defined='yes'/>
     <!-- __interceptor_fstatfs64 -->
-    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs64' is-defined='yes'/>
     <!-- __interceptor_fstatvfs -->
     <elf-symbol name='__interceptor_fstatvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs' is-defined='yes'/>
     <!-- __interceptor_fstatvfs64 -->
-    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs64' is-defined='yes'/>
     <!-- __interceptor_fwrite -->
-    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='fwrite' is-defined='yes'/>
     <!-- __interceptor_get_current_dir_name -->
-    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='get_current_dir_name' is-defined='yes'/>
     <!-- __interceptor_getaddrinfo -->
     <elf-symbol name='__interceptor_getaddrinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='getaddrinfo' is-defined='yes'/>
     <!-- __interceptor_getcwd -->
-    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' alias='getcwd' is-defined='yes'/>
     <!-- __interceptor_getdelim -->
     <elf-symbol name='__interceptor_getdelim' type='func-type' binding='global-binding' visibility='default-visibility' alias='getdelim' is-defined='yes'/>
     <!-- __interceptor_getgroups -->
@@ -373,67 +373,67 @@
     <!-- __interceptor_gethostbyaddr -->
     <elf-symbol name='__interceptor_gethostbyaddr' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr' is-defined='yes'/>
     <!-- __interceptor_gethostbyaddr_r -->
-    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr_r' is-defined='yes'/>
     <!-- __interceptor_gethostbyname -->
-    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname' is-defined='yes'/>
     <!-- __interceptor_gethostbyname2 -->
     <elf-symbol name='__interceptor_gethostbyname2' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2' is-defined='yes'/>
     <!-- __interceptor_gethostbyname2_r -->
     <elf-symbol name='__interceptor_gethostbyname2_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2_r' is-defined='yes'/>
     <!-- __interceptor_gethostbyname_r -->
-    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname_r' is-defined='yes'/>
     <!-- __interceptor_gethostent -->
     <elf-symbol name='__interceptor_gethostent' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent' is-defined='yes'/>
     <!-- __interceptor_gethostent_r -->
     <elf-symbol name='__interceptor_gethostent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent_r' is-defined='yes'/>
     <!-- __interceptor_getitimer -->
-    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' alias='getitimer' is-defined='yes'/>
     <!-- __interceptor_getline -->
-    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' alias='getline' is-defined='yes'/>
     <!-- __interceptor_getmntent -->
     <elf-symbol name='__interceptor_getmntent' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent' is-defined='yes'/>
     <!-- __interceptor_getmntent_r -->
-    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent_r' is-defined='yes'/>
     <!-- __interceptor_getpeername -->
-    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' alias='getpeername' is-defined='yes'/>
     <!-- __interceptor_getsockname -->
     <elf-symbol name='__interceptor_getsockname' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockname' is-defined='yes'/>
     <!-- __interceptor_getsockopt -->
     <elf-symbol name='__interceptor_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockopt' is-defined='yes'/>
     <!-- __interceptor_gettimeofday -->
-    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' alias='gettimeofday' is-defined='yes'/>
     <!-- __interceptor_gmtime -->
-    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime' is-defined='yes'/>
     <!-- __interceptor_gmtime_r -->
     <elf-symbol name='__interceptor_gmtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime_r' is-defined='yes'/>
     <!-- __interceptor_iconv -->
-    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' alias='iconv' is-defined='yes'/>
     <!-- __interceptor_inet_aton -->
-    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_aton' is-defined='yes'/>
     <!-- __interceptor_inet_ntop -->
     <elf-symbol name='__interceptor_inet_ntop' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_ntop' is-defined='yes'/>
     <!-- __interceptor_inet_pton -->
     <elf-symbol name='__interceptor_inet_pton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_pton' is-defined='yes'/>
     <!-- __interceptor_initgroups -->
-    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' alias='initgroups' is-defined='yes'/>
     <!-- __interceptor_inotify_init -->
     <elf-symbol name='__interceptor_inotify_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init' is-defined='yes'/>
     <!-- __interceptor_inotify_init1 -->
-    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init1' is-defined='yes'/>
     <!-- __interceptor_ioctl -->
-    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='ioctl' is-defined='yes'/>
     <!-- __interceptor_kill -->
     <elf-symbol name='__interceptor_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='kill' is-defined='yes'/>
     <!-- __interceptor_lgamma -->
-    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma' is-defined='yes'/>
     <!-- __interceptor_lgamma_r -->
-    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma_r' is-defined='yes'/>
     <!-- __interceptor_lgammaf -->
     <elf-symbol name='__interceptor_lgammaf' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf' is-defined='yes'/>
     <!-- __interceptor_lgammaf_r -->
     <elf-symbol name='__interceptor_lgammaf_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf_r' is-defined='yes'/>
     <!-- __interceptor_lgammal -->
-    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal' is-defined='yes'/>
     <!-- __interceptor_lgammal_r -->
     <elf-symbol name='__interceptor_lgammal_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal_r' is-defined='yes'/>
     <!-- __interceptor_listen -->
@@ -441,25 +441,25 @@
     <!-- __interceptor_localtime -->
     <elf-symbol name='__interceptor_localtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime' is-defined='yes'/>
     <!-- __interceptor_localtime_r -->
-    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime_r' is-defined='yes'/>
     <!-- __interceptor_longjmp -->
-    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='longjmp' is-defined='yes'/>
     <!-- __interceptor_lrand48_r -->
     <elf-symbol name='__interceptor_lrand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lrand48_r' is-defined='yes'/>
     <!-- __interceptor_lstat -->
     <elf-symbol name='__interceptor_lstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat' is-defined='yes'/>
     <!-- __interceptor_lstat64 -->
-    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat64' is-defined='yes'/>
     <!-- __interceptor_malloc -->
-    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc' is-defined='yes'/>
     <!-- __interceptor_malloc_usable_size -->
-    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size' is-defined='yes'/>
     <!-- __interceptor_mbsnrtowcs -->
-    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsnrtowcs' is-defined='yes'/>
     <!-- __interceptor_mbsrtowcs -->
-    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsrtowcs' is-defined='yes'/>
     <!-- __interceptor_mbstowcs -->
-    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbstowcs' is-defined='yes'/>
     <!-- __interceptor_memalign -->
     <elf-symbol name='__interceptor_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='memalign' is-defined='yes'/>
     <!-- __interceptor_memchr -->
@@ -467,39 +467,39 @@
     <!-- __interceptor_memcmp -->
     <elf-symbol name='__interceptor_memcmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcmp' is-defined='yes'/>
     <!-- __interceptor_memcpy -->
-    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcpy' is-defined='yes'/>
     <!-- __interceptor_memmove -->
-    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' alias='memmove' is-defined='yes'/>
     <!-- __interceptor_memrchr -->
     <elf-symbol name='__interceptor_memrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='memrchr' is-defined='yes'/>
     <!-- __interceptor_memset -->
     <elf-symbol name='__interceptor_memset' type='func-type' binding='global-binding' visibility='default-visibility' alias='memset' is-defined='yes'/>
     <!-- __interceptor_mlock -->
-    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlock' is-defined='yes'/>
     <!-- __interceptor_mlockall -->
-    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlockall' is-defined='yes'/>
     <!-- __interceptor_mmap -->
-    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap' is-defined='yes'/>
     <!-- __interceptor_mmap64 -->
     <elf-symbol name='__interceptor_mmap64' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap64' is-defined='yes'/>
     <!-- __interceptor_modf -->
     <elf-symbol name='__interceptor_modf' type='func-type' binding='global-binding' visibility='default-visibility' alias='modf' is-defined='yes'/>
     <!-- __interceptor_modff -->
-    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' alias='modff' is-defined='yes'/>
     <!-- __interceptor_modfl -->
-    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' alias='modfl' is-defined='yes'/>
     <!-- __interceptor_munlock -->
-    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlock' is-defined='yes'/>
     <!-- __interceptor_munlockall -->
     <elf-symbol name='__interceptor_munlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlockall' is-defined='yes'/>
     <!-- __interceptor_munmap -->
     <elf-symbol name='__interceptor_munmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='munmap' is-defined='yes'/>
     <!-- __interceptor_nanosleep -->
-    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='nanosleep' is-defined='yes'/>
     <!-- __interceptor_on_exit -->
     <elf-symbol name='__interceptor_on_exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='on_exit' is-defined='yes'/>
     <!-- __interceptor_open -->
-    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' alias='open' is-defined='yes'/>
     <!-- __interceptor_open64 -->
     <elf-symbol name='__interceptor_open64' type='func-type' binding='global-binding' visibility='default-visibility' alias='open64' is-defined='yes'/>
     <!-- __interceptor_opendir -->
@@ -509,43 +509,43 @@
     <!-- __interceptor_pipe2 -->
     <elf-symbol name='__interceptor_pipe2' type='func-type' binding='global-binding' visibility='default-visibility' alias='pipe2' is-defined='yes'/>
     <!-- __interceptor_poll -->
-    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' alias='poll' is-defined='yes'/>
     <!-- __interceptor_posix_memalign -->
     <elf-symbol name='__interceptor_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='posix_memalign' is-defined='yes'/>
     <!-- __interceptor_ppoll -->
-    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' alias='ppoll' is-defined='yes'/>
     <!-- __interceptor_prctl -->
-    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='prctl' is-defined='yes'/>
     <!-- __interceptor_pread -->
     <elf-symbol name='__interceptor_pread' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread' is-defined='yes'/>
     <!-- __interceptor_pread64 -->
     <elf-symbol name='__interceptor_pread64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread64' is-defined='yes'/>
     <!-- __interceptor_preadv -->
-    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv' is-defined='yes'/>
     <!-- __interceptor_preadv64 -->
-    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv64' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getaffinity_np -->
-    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getaffinity_np' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getdetachstate -->
-    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getdetachstate' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getguardsize -->
-    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getguardsize' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getinheritsched -->
     <elf-symbol name='__interceptor_pthread_attr_getinheritsched' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getinheritsched' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getschedparam -->
     <elf-symbol name='__interceptor_pthread_attr_getschedparam' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedparam' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getschedpolicy -->
-    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedpolicy' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getscope -->
-    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getscope' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getstack -->
-    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstack' is-defined='yes'/>
     <!-- __interceptor_pthread_attr_getstacksize -->
     <elf-symbol name='__interceptor_pthread_attr_getstacksize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstacksize' is-defined='yes'/>
     <!-- __interceptor_pthread_barrier_destroy -->
     <elf-symbol name='__interceptor_pthread_barrier_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_barrier_init -->
-    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_init' is-defined='yes'/>
     <!-- __interceptor_pthread_barrier_wait -->
     <elf-symbol name='__interceptor_pthread_barrier_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_wait' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_broadcast -->
@@ -555,7 +555,7 @@
     <!-- __interceptor_pthread_cond_init -->
     <elf-symbol name='__interceptor_pthread_cond_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_init' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_signal -->
-    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_signal' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_timedwait -->
     <elf-symbol name='__interceptor_pthread_cond_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_timedwait' is-defined='yes'/>
     <!-- __interceptor_pthread_cond_wait -->
@@ -569,21 +569,21 @@
     <!-- __interceptor_pthread_join -->
     <elf-symbol name='__interceptor_pthread_join' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_join' is-defined='yes'/>
     <!-- __interceptor_pthread_kill -->
-    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_kill' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_destroy -->
     <elf-symbol name='__interceptor_pthread_mutex_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_init -->
-    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_init' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_lock -->
-    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_lock' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_timedlock -->
     <elf-symbol name='__interceptor_pthread_mutex_timedlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_timedlock' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_trylock -->
-    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_trylock' is-defined='yes'/>
     <!-- __interceptor_pthread_mutex_unlock -->
     <elf-symbol name='__interceptor_pthread_mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_unlock' is-defined='yes'/>
     <!-- __interceptor_pthread_once -->
-    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_once' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_destroy -->
     <elf-symbol name='__interceptor_pthread_rwlock_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_init -->
@@ -591,13 +591,13 @@
     <!-- __interceptor_pthread_rwlock_rdlock -->
     <elf-symbol name='__interceptor_pthread_rwlock_rdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_rdlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_timedrdlock -->
-    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedrdlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_timedwrlock -->
     <elf-symbol name='__interceptor_pthread_rwlock_timedwrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedwrlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_tryrdlock -->
-    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_tryrdlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_trywrlock -->
-    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_trywrlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_unlock -->
     <elf-symbol name='__interceptor_pthread_rwlock_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_unlock' is-defined='yes'/>
     <!-- __interceptor_pthread_rwlock_wrlock -->
@@ -607,9 +607,9 @@
     <!-- __interceptor_pthread_spin_destroy -->
     <elf-symbol name='__interceptor_pthread_spin_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_destroy' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_init -->
-    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_init' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_lock -->
-    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_lock' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_trylock -->
     <elf-symbol name='__interceptor_pthread_spin_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_trylock' is-defined='yes'/>
     <!-- __interceptor_pthread_spin_unlock -->
@@ -621,19 +621,19 @@
     <!-- __interceptor_pvalloc -->
     <elf-symbol name='__interceptor_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc' is-defined='yes'/>
     <!-- __interceptor_pwrite -->
-    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite' is-defined='yes'/>
     <!-- __interceptor_pwrite64 -->
-    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite64' is-defined='yes'/>
     <!-- __interceptor_pwritev -->
-    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev' is-defined='yes'/>
     <!-- __interceptor_pwritev64 -->
-    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev64' is-defined='yes'/>
     <!-- __interceptor_raise -->
     <elf-symbol name='__interceptor_raise' type='func-type' binding='global-binding' visibility='default-visibility' alias='raise' is-defined='yes'/>
     <!-- __interceptor_random_r -->
     <elf-symbol name='__interceptor_random_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='random_r' is-defined='yes'/>
     <!-- __interceptor_read -->
-    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' alias='read' is-defined='yes'/>
     <!-- __interceptor_readdir -->
     <elf-symbol name='__interceptor_readdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir' is-defined='yes'/>
     <!-- __interceptor_readdir64 -->
@@ -641,49 +641,49 @@
     <!-- __interceptor_readdir64_r -->
     <elf-symbol name='__interceptor_readdir64_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir64_r' is-defined='yes'/>
     <!-- __interceptor_readdir_r -->
-    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir_r' is-defined='yes'/>
     <!-- __interceptor_readv -->
-    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' alias='readv' is-defined='yes'/>
     <!-- __interceptor_realloc -->
-    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='realloc' is-defined='yes'/>
     <!-- __interceptor_realpath -->
-    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' alias='realpath' is-defined='yes'/>
     <!-- __interceptor_recv -->
-    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' alias='recv' is-defined='yes'/>
     <!-- __interceptor_recvmsg -->
     <elf-symbol name='__interceptor_recvmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='recvmsg' is-defined='yes'/>
     <!-- __interceptor_remquo -->
-    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquo' is-defined='yes'/>
     <!-- __interceptor_remquof -->
-    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquof' is-defined='yes'/>
     <!-- __interceptor_remquol -->
-    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquol' is-defined='yes'/>
     <!-- __interceptor_rmdir -->
-    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='rmdir' is-defined='yes'/>
     <!-- __interceptor_scandir -->
     <elf-symbol name='__interceptor_scandir' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir' is-defined='yes'/>
     <!-- __interceptor_scandir64 -->
     <elf-symbol name='__interceptor_scandir64' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir64' is-defined='yes'/>
     <!-- __interceptor_scanf -->
-    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='scanf' is-defined='yes'/>
     <!-- __interceptor_sched_getaffinity -->
-    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' alias='sched_getaffinity' is-defined='yes'/>
     <!-- __interceptor_sem_destroy -->
-    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_destroy' is-defined='yes'/>
     <!-- __interceptor_sem_getvalue -->
     <elf-symbol name='__interceptor_sem_getvalue' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_getvalue' is-defined='yes'/>
     <!-- __interceptor_sem_init -->
-    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_init' is-defined='yes'/>
     <!-- __interceptor_sem_post -->
     <elf-symbol name='__interceptor_sem_post' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_post' is-defined='yes'/>
     <!-- __interceptor_sem_timedwait -->
-    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_timedwait' is-defined='yes'/>
     <!-- __interceptor_sem_trywait -->
     <elf-symbol name='__interceptor_sem_trywait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_trywait' is-defined='yes'/>
     <!-- __interceptor_sem_wait -->
     <elf-symbol name='__interceptor_sem_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_wait' is-defined='yes'/>
     <!-- __interceptor_send -->
-    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' alias='send' is-defined='yes'/>
     <!-- __interceptor_sendmsg -->
     <elf-symbol name='__interceptor_sendmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='sendmsg' is-defined='yes'/>
     <!-- __interceptor_setitimer -->
@@ -695,19 +695,19 @@
     <!-- __interceptor_shmctl -->
     <elf-symbol name='__interceptor_shmctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='shmctl' is-defined='yes'/>
     <!-- __interceptor_sigaction -->
-    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigaction' is-defined='yes'/>
     <!-- __interceptor_sigemptyset -->
     <elf-symbol name='__interceptor_sigemptyset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigemptyset' is-defined='yes'/>
     <!-- __interceptor_sigfillset -->
-    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigfillset' is-defined='yes'/>
     <!-- __interceptor_siglongjmp -->
     <elf-symbol name='__interceptor_siglongjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='siglongjmp' is-defined='yes'/>
     <!-- __interceptor_signal -->
     <elf-symbol name='__interceptor_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='signal' is-defined='yes'/>
     <!-- __interceptor_signalfd -->
-    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='signalfd' is-defined='yes'/>
     <!-- __interceptor_sigpending -->
-    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigpending' is-defined='yes'/>
     <!-- __interceptor_sigprocmask -->
     <elf-symbol name='__interceptor_sigprocmask' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigprocmask' is-defined='yes'/>
     <!-- __interceptor_sigsetjmp -->
@@ -719,23 +719,23 @@
     <!-- __interceptor_sigwait -->
     <elf-symbol name='__interceptor_sigwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwait' is-defined='yes'/>
     <!-- __interceptor_sigwaitinfo -->
-    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwaitinfo' is-defined='yes'/>
     <!-- __interceptor_sincos -->
-    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincos' is-defined='yes'/>
     <!-- __interceptor_sincosf -->
     <elf-symbol name='__interceptor_sincosf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosf' is-defined='yes'/>
     <!-- __interceptor_sincosl -->
     <elf-symbol name='__interceptor_sincosl' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosl' is-defined='yes'/>
     <!-- __interceptor_sleep -->
-    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='sleep' is-defined='yes'/>
     <!-- __interceptor_socket -->
     <elf-symbol name='__interceptor_socket' type='func-type' binding='global-binding' visibility='default-visibility' alias='socket' is-defined='yes'/>
     <!-- __interceptor_socketpair -->
     <elf-symbol name='__interceptor_socketpair' type='func-type' binding='global-binding' visibility='default-visibility' alias='socketpair' is-defined='yes'/>
     <!-- __interceptor_sscanf -->
-    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sscanf' is-defined='yes'/>
     <!-- __interceptor_stat -->
-    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat' is-defined='yes'/>
     <!-- __interceptor_stat64 -->
     <elf-symbol name='__interceptor_stat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat64' is-defined='yes'/>
     <!-- __interceptor_statfs -->
@@ -745,7 +745,7 @@
     <!-- __interceptor_statvfs -->
     <elf-symbol name='__interceptor_statvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs' is-defined='yes'/>
     <!-- __interceptor_statvfs64 -->
-    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs64' is-defined='yes'/>
     <!-- __interceptor_strcasecmp -->
     <elf-symbol name='__interceptor_strcasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strcasecmp' is-defined='yes'/>
     <!-- __interceptor_strchr -->
@@ -761,93 +761,93 @@
     <!-- __interceptor_strerror -->
     <elf-symbol name='__interceptor_strerror' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror' is-defined='yes'/>
     <!-- __interceptor_strerror_r -->
-    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror_r' is-defined='yes'/>
     <!-- __interceptor_strlen -->
     <elf-symbol name='__interceptor_strlen' type='func-type' binding='global-binding' visibility='default-visibility' alias='strlen' is-defined='yes'/>
     <!-- __interceptor_strncasecmp -->
-    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncasecmp' is-defined='yes'/>
     <!-- __interceptor_strncmp -->
     <elf-symbol name='__interceptor_strncmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncmp' is-defined='yes'/>
     <!-- __interceptor_strncpy -->
-    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncpy' is-defined='yes'/>
     <!-- __interceptor_strptime -->
     <elf-symbol name='__interceptor_strptime' type='func-type' binding='global-binding' visibility='default-visibility' alias='strptime' is-defined='yes'/>
     <!-- __interceptor_strrchr -->
-    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strrchr' is-defined='yes'/>
     <!-- __interceptor_strstr -->
     <elf-symbol name='__interceptor_strstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strstr' is-defined='yes'/>
     <!-- __interceptor_strtoimax -->
-    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoimax' is-defined='yes'/>
     <!-- __interceptor_strtoumax -->
-    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoumax' is-defined='yes'/>
     <!-- __interceptor_sysinfo -->
-    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sysinfo' is-defined='yes'/>
     <!-- __interceptor_tcgetattr -->
     <elf-symbol name='__interceptor_tcgetattr' type='func-type' binding='global-binding' visibility='default-visibility' alias='tcgetattr' is-defined='yes'/>
     <!-- __interceptor_tempnam -->
-    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tempnam' is-defined='yes'/>
     <!-- __interceptor_textdomain -->
-    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' alias='textdomain' is-defined='yes'/>
     <!-- __interceptor_time -->
-    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' alias='time' is-defined='yes'/>
     <!-- __interceptor_times -->
     <elf-symbol name='__interceptor_times' type='func-type' binding='global-binding' visibility='default-visibility' alias='times' is-defined='yes'/>
     <!-- __interceptor_tmpnam -->
-    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam' is-defined='yes'/>
     <!-- __interceptor_tmpnam_r -->
-    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam_r' is-defined='yes'/>
     <!-- __interceptor_unlink -->
-    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' alias='unlink' is-defined='yes'/>
     <!-- __interceptor_usleep -->
     <elf-symbol name='__interceptor_usleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='usleep' is-defined='yes'/>
     <!-- __interceptor_valloc -->
     <elf-symbol name='__interceptor_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc' is-defined='yes'/>
     <!-- __interceptor_vfscanf -->
-    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vfscanf' is-defined='yes'/>
     <!-- __interceptor_vscanf -->
-    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vscanf' is-defined='yes'/>
     <!-- __interceptor_vsscanf -->
     <elf-symbol name='__interceptor_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vsscanf' is-defined='yes'/>
     <!-- __interceptor_wait -->
     <elf-symbol name='__interceptor_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait' is-defined='yes'/>
     <!-- __interceptor_wait3 -->
-    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait3' is-defined='yes'/>
     <!-- __interceptor_wait4 -->
-    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait4' is-defined='yes'/>
     <!-- __interceptor_waitid -->
-    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitid' is-defined='yes'/>
     <!-- __interceptor_waitpid -->
     <elf-symbol name='__interceptor_waitpid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitpid' is-defined='yes'/>
     <!-- __interceptor_wcsnrtombs -->
     <elf-symbol name='__interceptor_wcsnrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsnrtombs' is-defined='yes'/>
     <!-- __interceptor_wcsrtombs -->
-    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsrtombs' is-defined='yes'/>
     <!-- __interceptor_wcstombs -->
     <elf-symbol name='__interceptor_wcstombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcstombs' is-defined='yes'/>
     <!-- __interceptor_wordexp -->
     <elf-symbol name='__interceptor_wordexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='wordexp' is-defined='yes'/>
     <!-- __interceptor_write -->
-    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' alias='write' is-defined='yes'/>
     <!-- __interceptor_writev -->
     <elf-symbol name='__interceptor_writev' type='func-type' binding='global-binding' visibility='default-visibility' alias='writev' is-defined='yes'/>
     <!-- __isoc99_fscanf -->
-    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_fscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_scanf -->
-    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_scanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_sscanf -->
-    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_sscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_vfscanf -->
-    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vfscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_vscanf -->
-    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __isoc99_vsscanf -->
-    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vsscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_memalign -->
     <elf-symbol name='__libc_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __lxstat -->
-    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat' is-defined='yes'/>
+    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __lxstat64 -->
-    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat64' is-defined='yes'/>
+    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __res_iclose -->
     <elf-symbol name='__res_iclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_cov -->
@@ -2223,11 +2223,11 @@
     <!-- __sanitizer_unaligned_load64 -->
     <elf-symbol name='__sanitizer_unaligned_load64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_unaligned_store16 -->
-    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write2' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_unaligned_store32 -->
     <elf-symbol name='__sanitizer_unaligned_store32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sanitizer_unaligned_store64 -->
-    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write8' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __sigsetjmp -->
     <elf-symbol name='__sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __tsan_acquire -->
@@ -2407,11 +2407,11 @@
     <!-- __tsan_unaligned_read8 -->
     <elf-symbol name='__tsan_unaligned_read8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load64' is-defined='yes'/>
     <!-- __tsan_unaligned_write2 -->
-    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store16' is-defined='yes'/>
     <!-- __tsan_unaligned_write4 -->
     <elf-symbol name='__tsan_unaligned_write4' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store32' is-defined='yes'/>
     <!-- __tsan_unaligned_write8 -->
-    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store64' is-defined='yes'/>
     <!-- __tsan_vptr_read -->
     <elf-symbol name='__tsan_vptr_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __tsan_vptr_update -->
@@ -2429,13 +2429,13 @@
     <!-- __tsan_write_range -->
     <elf-symbol name='__tsan_write_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __xpg_strerror_r -->
-    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xpg_strerror_r' is-defined='yes'/>
+    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __xstat -->
     <elf-symbol name='__xstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __xstat64 -->
-    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xstat64' is-defined='yes'/>
+    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _exit -->
-    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor__exit' is-defined='yes'/>
+    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _fini -->
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _init -->
@@ -2443,7 +2443,7 @@
     <!-- _setjmp -->
     <elf-symbol name='_setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- abort -->
-    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_abort' is-defined='yes'/>
+    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- accept -->
     <elf-symbol name='accept' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- accept4 -->
@@ -2451,7 +2451,7 @@
     <!-- asctime -->
     <elf-symbol name='asctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- asctime_r -->
-    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_asctime_r' is-defined='yes'/>
+    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- atexit -->
     <elf-symbol name='atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- backtrace -->
@@ -2459,69 +2459,69 @@
     <!-- backtrace_symbols -->
     <elf-symbol name='backtrace_symbols' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- bind -->
-    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_bind' is-defined='yes'/>
+    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- calloc -->
-    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_calloc' is-defined='yes'/>
+    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- canonicalize_file_name -->
-    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_canonicalize_file_name' is-defined='yes'/>
+    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cfree -->
-    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_cfree' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- clock_getres -->
     <elf-symbol name='clock_getres' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- clock_gettime -->
-    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_gettime' is-defined='yes'/>
+    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- clock_settime -->
-    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_settime' is-defined='yes'/>
+    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- close -->
-    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_close' is-defined='yes'/>
+    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- confstr -->
-    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_confstr' is-defined='yes'/>
+    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- connect -->
-    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_connect' is-defined='yes'/>
+    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- creat -->
     <elf-symbol name='creat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- creat64 -->
     <elf-symbol name='creat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ctime -->
-    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime' is-defined='yes'/>
+    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ctime_r -->
-    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime_r' is-defined='yes'/>
+    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dlclose -->
     <elf-symbol name='dlclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dlopen -->
     <elf-symbol name='dlopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- drand48_r -->
-    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_drand48_r' is-defined='yes'/>
+    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dup -->
-    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup' is-defined='yes'/>
+    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dup2 -->
-    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup2' is-defined='yes'/>
+    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- dup3 -->
     <elf-symbol name='dup3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_create -->
     <elf-symbol name='epoll_create' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_create1 -->
-    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_create1' is-defined='yes'/>
+    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_ctl -->
-    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_ctl' is-defined='yes'/>
+    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- epoll_wait -->
-    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_wait' is-defined='yes'/>
+    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_aton -->
     <elf-symbol name='ether_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_aton_r -->
-    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_aton_r' is-defined='yes'/>
+    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_hostton -->
-    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_hostton' is-defined='yes'/>
+    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_line -->
-    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_line' is-defined='yes'/>
+    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_ntoa -->
     <elf-symbol name='ether_ntoa' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_ntoa_r -->
-    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntoa_r' is-defined='yes'/>
+    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ether_ntohost -->
-    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntohost' is-defined='yes'/>
+    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- eventfd -->
-    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_eventfd' is-defined='yes'/>
+    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fclose -->
     <elf-symbol name='fclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fflush -->
@@ -2539,7 +2539,7 @@
     <!-- frexp -->
     <elf-symbol name='frexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- frexpf -->
-    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_frexpf' is-defined='yes'/>
+    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- frexpl -->
     <elf-symbol name='frexpl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fscanf -->
@@ -2551,19 +2551,19 @@
     <!-- fstatfs -->
     <elf-symbol name='fstatfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fstatfs64 -->
-    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatfs64' is-defined='yes'/>
+    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fstatvfs -->
     <elf-symbol name='fstatvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fstatvfs64 -->
-    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatvfs64' is-defined='yes'/>
+    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- fwrite -->
-    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fwrite' is-defined='yes'/>
+    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- get_current_dir_name -->
-    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_get_current_dir_name' is-defined='yes'/>
+    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getaddrinfo -->
     <elf-symbol name='getaddrinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getcwd -->
-    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getcwd' is-defined='yes'/>
+    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getdelim -->
     <elf-symbol name='getdelim' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getgroups -->
@@ -2571,67 +2571,67 @@
     <!-- gethostbyaddr -->
     <elf-symbol name='gethostbyaddr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyaddr_r -->
-    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyaddr_r' is-defined='yes'/>
+    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname -->
-    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname' is-defined='yes'/>
+    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname2 -->
     <elf-symbol name='gethostbyname2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname2_r -->
     <elf-symbol name='gethostbyname2_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostbyname_r -->
-    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname_r' is-defined='yes'/>
+    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostent -->
     <elf-symbol name='gethostent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gethostent_r -->
     <elf-symbol name='gethostent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getitimer -->
-    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getitimer' is-defined='yes'/>
+    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getline -->
-    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getline' is-defined='yes'/>
+    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getmntent -->
     <elf-symbol name='getmntent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getmntent_r -->
-    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getmntent_r' is-defined='yes'/>
+    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getpeername -->
-    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getpeername' is-defined='yes'/>
+    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getsockname -->
     <elf-symbol name='getsockname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- getsockopt -->
     <elf-symbol name='getsockopt' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gettimeofday -->
-    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gettimeofday' is-defined='yes'/>
+    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gmtime -->
-    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gmtime' is-defined='yes'/>
+    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- gmtime_r -->
     <elf-symbol name='gmtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- iconv -->
-    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_iconv' is-defined='yes'/>
+    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inet_aton -->
-    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inet_aton' is-defined='yes'/>
+    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inet_ntop -->
     <elf-symbol name='inet_ntop' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inet_pton -->
     <elf-symbol name='inet_pton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- initgroups -->
-    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_initgroups' is-defined='yes'/>
+    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inotify_init -->
     <elf-symbol name='inotify_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- inotify_init1 -->
-    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inotify_init1' is-defined='yes'/>
+    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ioctl -->
-    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ioctl' is-defined='yes'/>
+    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- kill -->
     <elf-symbol name='kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgamma -->
-    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma' is-defined='yes'/>
+    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgamma_r -->
-    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma_r' is-defined='yes'/>
+    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammaf -->
     <elf-symbol name='lgammaf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammaf_r -->
     <elf-symbol name='lgammaf_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammal -->
-    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgammal' is-defined='yes'/>
+    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lgammal_r -->
     <elf-symbol name='lgammal_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- listen -->
@@ -2639,25 +2639,25 @@
     <!-- localtime -->
     <elf-symbol name='localtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- localtime_r -->
-    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_localtime_r' is-defined='yes'/>
+    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- longjmp -->
-    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_longjmp' is-defined='yes'/>
+    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lrand48_r -->
     <elf-symbol name='lrand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lstat -->
     <elf-symbol name='lstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- lstat64 -->
-    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lstat64' is-defined='yes'/>
+    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc -->
-    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_usable_size -->
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc_usable_size' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mbsnrtowcs -->
-    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsnrtowcs' is-defined='yes'/>
+    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mbsrtowcs -->
-    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsrtowcs' is-defined='yes'/>
+    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mbstowcs -->
-    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbstowcs' is-defined='yes'/>
+    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memalign -->
     <elf-symbol name='memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memchr -->
@@ -2665,39 +2665,39 @@
     <!-- memcmp -->
     <elf-symbol name='memcmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memcpy -->
-    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memcpy' is-defined='yes'/>
+    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memmove -->
-    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memmove' is-defined='yes'/>
+    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memrchr -->
     <elf-symbol name='memrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memset -->
     <elf-symbol name='memset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mlock -->
-    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlock' is-defined='yes'/>
+    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mlockall -->
-    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlockall' is-defined='yes'/>
+    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mmap -->
-    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mmap' is-defined='yes'/>
+    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mmap64 -->
     <elf-symbol name='mmap64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- modf -->
     <elf-symbol name='modf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- modff -->
-    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modff' is-defined='yes'/>
+    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- modfl -->
-    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modfl' is-defined='yes'/>
+    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- munlock -->
-    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_munlock' is-defined='yes'/>
+    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- munlockall -->
     <elf-symbol name='munlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- munmap -->
     <elf-symbol name='munmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- nanosleep -->
-    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_nanosleep' is-defined='yes'/>
+    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- on_exit -->
     <elf-symbol name='on_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- open -->
-    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_open' is-defined='yes'/>
+    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- open64 -->
     <elf-symbol name='open64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- opendir -->
@@ -2707,43 +2707,43 @@
     <!-- pipe2 -->
     <elf-symbol name='pipe2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- poll -->
-    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_poll' is-defined='yes'/>
+    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- posix_memalign -->
     <elf-symbol name='posix_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- ppoll -->
-    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ppoll' is-defined='yes'/>
+    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- prctl -->
-    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_prctl' is-defined='yes'/>
+    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pread -->
     <elf-symbol name='pread' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pread64 -->
     <elf-symbol name='pread64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- preadv -->
-    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv' is-defined='yes'/>
+    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- preadv64 -->
-    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv64' is-defined='yes'/>
+    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getaffinity_np -->
-    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getaffinity_np' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getdetachstate -->
-    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getdetachstate' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getguardsize -->
-    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getguardsize' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getinheritsched -->
     <elf-symbol name='pthread_attr_getinheritsched' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getschedparam -->
     <elf-symbol name='pthread_attr_getschedparam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getschedpolicy -->
-    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getschedpolicy' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getscope -->
-    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getscope' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getstack -->
-    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getstack' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_attr_getstacksize -->
     <elf-symbol name='pthread_attr_getstacksize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_barrier_destroy -->
     <elf-symbol name='pthread_barrier_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_barrier_init -->
-    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_barrier_init' is-defined='yes'/>
+    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_barrier_wait -->
     <elf-symbol name='pthread_barrier_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_broadcast -->
@@ -2753,7 +2753,7 @@
     <!-- pthread_cond_init -->
     <elf-symbol name='pthread_cond_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_signal -->
-    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_cond_signal' is-defined='yes'/>
+    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_timedwait -->
     <elf-symbol name='pthread_cond_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_cond_wait -->
@@ -2767,21 +2767,21 @@
     <!-- pthread_join -->
     <elf-symbol name='pthread_join' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_kill -->
-    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_kill' is-defined='yes'/>
+    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_destroy -->
     <elf-symbol name='pthread_mutex_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_init -->
-    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_init' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_lock -->
-    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_timedlock -->
     <elf-symbol name='pthread_mutex_timedlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_trylock -->
-    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_trylock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_mutex_unlock -->
     <elf-symbol name='pthread_mutex_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_once -->
-    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_once' is-defined='yes'/>
+    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_destroy -->
     <elf-symbol name='pthread_rwlock_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_init -->
@@ -2789,13 +2789,13 @@
     <!-- pthread_rwlock_rdlock -->
     <elf-symbol name='pthread_rwlock_rdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_timedrdlock -->
-    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_timedrdlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_timedwrlock -->
     <elf-symbol name='pthread_rwlock_timedwrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_tryrdlock -->
-    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_tryrdlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_trywrlock -->
-    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_trywrlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_unlock -->
     <elf-symbol name='pthread_rwlock_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_rwlock_wrlock -->
@@ -2805,9 +2805,9 @@
     <!-- pthread_spin_destroy -->
     <elf-symbol name='pthread_spin_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_init -->
-    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_init' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_lock -->
-    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_trylock -->
     <elf-symbol name='pthread_spin_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pthread_spin_unlock -->
@@ -2819,19 +2819,19 @@
     <!-- pvalloc -->
     <elf-symbol name='pvalloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwrite -->
-    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite' is-defined='yes'/>
+    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwrite64 -->
-    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite64' is-defined='yes'/>
+    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwritev -->
-    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev' is-defined='yes'/>
+    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pwritev64 -->
-    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev64' is-defined='yes'/>
+    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- raise -->
     <elf-symbol name='raise' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- random_r -->
     <elf-symbol name='random_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- read -->
-    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_read' is-defined='yes'/>
+    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readdir -->
     <elf-symbol name='readdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readdir64 -->
@@ -2839,49 +2839,49 @@
     <!-- readdir64_r -->
     <elf-symbol name='readdir64_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readdir_r -->
-    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readdir_r' is-defined='yes'/>
+    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- readv -->
-    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readv' is-defined='yes'/>
+    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- realloc -->
-    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realloc' is-defined='yes'/>
+    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- realpath -->
-    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realpath' is-defined='yes'/>
+    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- recv -->
-    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_recv' is-defined='yes'/>
+    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- recvmsg -->
     <elf-symbol name='recvmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- remquo -->
-    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquo' is-defined='yes'/>
+    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- remquof -->
-    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquof' is-defined='yes'/>
+    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- remquol -->
-    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquol' is-defined='yes'/>
+    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- rmdir -->
-    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_rmdir' is-defined='yes'/>
+    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- scandir -->
     <elf-symbol name='scandir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- scandir64 -->
     <elf-symbol name='scandir64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- scanf -->
-    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_scanf' is-defined='yes'/>
+    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sched_getaffinity -->
-    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sched_getaffinity' is-defined='yes'/>
+    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_destroy -->
-    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_destroy' is-defined='yes'/>
+    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_getvalue -->
     <elf-symbol name='sem_getvalue' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_init -->
-    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_init' is-defined='yes'/>
+    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_post -->
     <elf-symbol name='sem_post' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_timedwait -->
-    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_timedwait' is-defined='yes'/>
+    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_trywait -->
     <elf-symbol name='sem_trywait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sem_wait -->
     <elf-symbol name='sem_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- send -->
-    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_send' is-defined='yes'/>
+    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sendmsg -->
     <elf-symbol name='sendmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- setitimer -->
@@ -2893,19 +2893,19 @@
     <!-- shmctl -->
     <elf-symbol name='shmctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigaction -->
-    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigaction' is-defined='yes'/>
+    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigemptyset -->
     <elf-symbol name='sigemptyset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigfillset -->
-    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigfillset' is-defined='yes'/>
+    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- siglongjmp -->
     <elf-symbol name='siglongjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- signal -->
     <elf-symbol name='signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- signalfd -->
-    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_signalfd' is-defined='yes'/>
+    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigpending -->
-    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigpending' is-defined='yes'/>
+    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigprocmask -->
     <elf-symbol name='sigprocmask' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigsetjmp -->
@@ -2917,23 +2917,23 @@
     <!-- sigwait -->
     <elf-symbol name='sigwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sigwaitinfo -->
-    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigwaitinfo' is-defined='yes'/>
+    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sincos -->
-    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sincos' is-defined='yes'/>
+    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sincosf -->
     <elf-symbol name='sincosf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sincosl -->
     <elf-symbol name='sincosl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sleep -->
-    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sleep' is-defined='yes'/>
+    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- socket -->
     <elf-symbol name='socket' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- socketpair -->
     <elf-symbol name='socketpair' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sscanf -->
-    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sscanf' is-defined='yes'/>
+    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- stat -->
-    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_stat' is-defined='yes'/>
+    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- stat64 -->
     <elf-symbol name='stat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- statfs -->
@@ -2943,7 +2943,7 @@
     <!-- statvfs -->
     <elf-symbol name='statvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- statvfs64 -->
-    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_statvfs64' is-defined='yes'/>
+    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strcasecmp -->
     <elf-symbol name='strcasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strchr -->
@@ -2959,73 +2959,73 @@
     <!-- strerror -->
     <elf-symbol name='strerror' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strerror_r -->
-    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strerror_r' is-defined='yes'/>
+    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strlen -->
     <elf-symbol name='strlen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strncasecmp -->
-    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncasecmp' is-defined='yes'/>
+    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strncmp -->
     <elf-symbol name='strncmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strncpy -->
-    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncpy' is-defined='yes'/>
+    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strptime -->
     <elf-symbol name='strptime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strrchr -->
-    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strrchr' is-defined='yes'/>
+    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strstr -->
     <elf-symbol name='strstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strtoimax -->
-    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoimax' is-defined='yes'/>
+    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- strtoumax -->
-    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoumax' is-defined='yes'/>
+    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- sysinfo -->
-    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sysinfo' is-defined='yes'/>
+    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tcgetattr -->
     <elf-symbol name='tcgetattr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tempnam -->
-    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tempnam' is-defined='yes'/>
+    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- textdomain -->
-    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_textdomain' is-defined='yes'/>
+    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- time -->
-    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_time' is-defined='yes'/>
+    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- times -->
     <elf-symbol name='times' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tmpnam -->
-    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam' is-defined='yes'/>
+    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tmpnam_r -->
-    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam_r' is-defined='yes'/>
+    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- unlink -->
-    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_unlink' is-defined='yes'/>
+    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- usleep -->
     <elf-symbol name='usleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- valloc -->
     <elf-symbol name='valloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- vfscanf -->
-    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vfscanf' is-defined='yes'/>
+    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- vscanf -->
-    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vscanf' is-defined='yes'/>
+    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- vsscanf -->
     <elf-symbol name='vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wait -->
     <elf-symbol name='wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wait3 -->
-    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait3' is-defined='yes'/>
+    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wait4 -->
-    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait4' is-defined='yes'/>
+    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- waitid -->
-    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_waitid' is-defined='yes'/>
+    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- waitpid -->
     <elf-symbol name='waitpid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wcsnrtombs -->
     <elf-symbol name='wcsnrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wcsrtombs -->
-    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wcsrtombs' is-defined='yes'/>
+    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wcstombs -->
     <elf-symbol name='wcstombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- wordexp -->
     <elf-symbol name='wordexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- write -->
-    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_write' is-defined='yes'/>
+    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- writev -->
     <elf-symbol name='writev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
@@ -13772,7 +13772,7 @@
       </function-decl>
     </namespace-decl>
     <!-- int __interceptor_mlock(void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_mlock' mangled-name='mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlock'>
+    <function-decl name='__interceptor_mlock' mangled-name='__interceptor_mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -13781,7 +13781,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_munlock(void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_munlock' mangled-name='munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='munlock'>
+    <function-decl name='__interceptor_munlock' mangled-name='__interceptor_munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_munlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -13790,7 +13790,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_mlockall(int) -->
-    <function-decl name='__interceptor_mlockall' mangled-name='mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlockall'>
+    <function-decl name='__interceptor_mlockall' mangled-name='__interceptor_mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlockall'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- int -->
@@ -20235,7 +20235,7 @@
       <return type-id='type-id-1439'/>
     </function-decl>
     <!-- SIZE_T __interceptor_iconv(void*, char**, SIZE_T*, char**, SIZE_T*) -->
-    <function-decl name='__interceptor_iconv' mangled-name='iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iconv'>
+    <function-decl name='__interceptor_iconv' mangled-name='__interceptor_iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_iconv'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='cd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
       <!-- parameter of type 'char**' -->
@@ -20263,7 +20263,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_getline(char**, SIZE_T*, void*) -->
-    <function-decl name='__interceptor_getline' mangled-name='getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getline'>
+    <function-decl name='__interceptor_getline' mangled-name='__interceptor_getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getline'>
       <!-- parameter of type 'char**' -->
       <parameter type-id='type-id-1227' name='lineptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
       <!-- parameter of type 'SIZE_T*' -->
@@ -20283,7 +20283,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_drand48_r(void*, double*) -->
-    <function-decl name='__interceptor_drand48_r' mangled-name='drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drand48_r'>
+    <function-decl name='__interceptor_drand48_r' mangled-name='__interceptor_drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_drand48_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='buffer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
       <!-- parameter of type 'double*' -->
@@ -20310,7 +20310,7 @@
       <return type-id='type-id-588'/>
     </function-decl>
     <!-- double __interceptor_lgamma_r(double, int*) -->
-    <function-decl name='__interceptor_lgamma_r' mangled-name='lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma_r'>
+    <function-decl name='__interceptor_lgamma_r' mangled-name='__interceptor_lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma_r'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <!-- parameter of type 'int*' -->
@@ -20319,7 +20319,7 @@
       <return type-id='type-id-587'/>
     </function-decl>
     <!-- long double __interceptor_lgammal(long double) -->
-    <function-decl name='__interceptor_lgammal' mangled-name='lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgammal'>
+    <function-decl name='__interceptor_lgammal' mangled-name='__interceptor_lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgammal'>
       <!-- parameter of type 'long double' -->
       <parameter type-id='type-id-592' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1'/>
       <!-- long double -->
@@ -20333,14 +20333,14 @@
       <return type-id='type-id-588'/>
     </function-decl>
     <!-- double __interceptor_lgamma(double) -->
-    <function-decl name='__interceptor_lgamma' mangled-name='lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma'>
+    <function-decl name='__interceptor_lgamma' mangled-name='__interceptor_lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1'/>
       <!-- double -->
       <return type-id='type-id-587'/>
     </function-decl>
     <!-- long double __interceptor_remquol(long double, long double, int*) -->
-    <function-decl name='__interceptor_remquol' mangled-name='remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquol'>
+    <function-decl name='__interceptor_remquol' mangled-name='__interceptor_remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquol'>
       <!-- parameter of type 'long double' -->
       <parameter type-id='type-id-592' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <!-- parameter of type 'long double' -->
@@ -20351,7 +20351,7 @@
       <return type-id='type-id-592'/>
     </function-decl>
     <!-- float __interceptor_remquof(float, float, int*) -->
-    <function-decl name='__interceptor_remquof' mangled-name='remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquof'>
+    <function-decl name='__interceptor_remquof' mangled-name='__interceptor_remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquof'>
       <!-- parameter of type 'float' -->
       <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <!-- parameter of type 'float' -->
@@ -20362,7 +20362,7 @@
       <return type-id='type-id-588'/>
     </function-decl>
     <!-- double __interceptor_remquo(double, double, int*) -->
-    <function-decl name='__interceptor_remquo' mangled-name='remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquo'>
+    <function-decl name='__interceptor_remquo' mangled-name='__interceptor_remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquo'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
       <!-- parameter of type 'double' -->
@@ -20395,7 +20395,7 @@
       <return type-id='type-id-4'/>
     </function-decl>
     <!-- void __interceptor_sincos(double, double*, double*) -->
-    <function-decl name='__interceptor_sincos' mangled-name='sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sincos'>
+    <function-decl name='__interceptor_sincos' mangled-name='__interceptor_sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sincos'>
       <!-- parameter of type 'double' -->
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
       <!-- parameter of type 'double*' -->
@@ -20415,7 +20415,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_tempnam(char*, char*) -->
-    <function-decl name='__interceptor_tempnam' mangled-name='tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tempnam'>
+    <function-decl name='__interceptor_tempnam' mangled-name='__interceptor_tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tempnam'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -20424,21 +20424,21 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- char* __interceptor_tmpnam_r(char*) -->
-    <function-decl name='__interceptor_tmpnam_r' mangled-name='tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam_r'>
+    <function-decl name='__interceptor_tmpnam_r' mangled-name='__interceptor_tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam_r'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <!-- char* -->
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- char* __interceptor_tmpnam(char*) -->
-    <function-decl name='__interceptor_tmpnam' mangled-name='tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam'>
+    <function-decl name='__interceptor_tmpnam' mangled-name='__interceptor_tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <!-- char* -->
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getaffinity_np(void*, SIZE_T, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getaffinity_np'>
+    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='__interceptor_pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getaffinity_np'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
       <!-- parameter of type 'typedef SIZE_T' -->
@@ -20458,7 +20458,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getstack(void*, void**, SIZE_T*) -->
-    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getstack'>
+    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='__interceptor_pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getstack'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
       <!-- parameter of type 'void**' -->
@@ -20478,7 +20478,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getscope(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getscope'>
+    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='__interceptor_pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getscope'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20487,7 +20487,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getschedpolicy(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getschedpolicy'>
+    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='__interceptor_pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getschedpolicy'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20505,7 +20505,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getguardsize(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getguardsize'>
+    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='__interceptor_pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getguardsize'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20514,7 +20514,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_attr_getdetachstate(void*, void*) -->
-    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getdetachstate'>
+    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='__interceptor_pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getdetachstate'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20543,7 +20543,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_ether_addr* __interceptor_ether_aton_r(char*, __sanitizer::__sanitizer_ether_addr*) -->
-    <function-decl name='__interceptor_ether_aton_r' mangled-name='ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_aton_r'>
+    <function-decl name='__interceptor_ether_aton_r' mangled-name='__interceptor_ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_aton_r'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -20552,7 +20552,7 @@
       <return type-id='type-id-1169'/>
     </function-decl>
     <!-- char* __interceptor_ether_ntoa_r(__sanitizer::__sanitizer_ether_addr*, char*) -->
-    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntoa_r'>
+    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='__interceptor_ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntoa_r'>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
       <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -20561,7 +20561,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- int __interceptor_ether_line(char*, __sanitizer::__sanitizer_ether_addr*, char*) -->
-    <function-decl name='__interceptor_ether_line' mangled-name='ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_line'>
+    <function-decl name='__interceptor_ether_line' mangled-name='__interceptor_ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_line'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -20572,7 +20572,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_ether_hostton(char*, __sanitizer::__sanitizer_ether_addr*) -->
-    <function-decl name='__interceptor_ether_hostton' mangled-name='ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_hostton'>
+    <function-decl name='__interceptor_ether_hostton' mangled-name='__interceptor_ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_hostton'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -20581,7 +20581,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_ether_ntohost(char*, __sanitizer::__sanitizer_ether_addr*) -->
-    <function-decl name='__interceptor_ether_ntohost' mangled-name='ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntohost'>
+    <function-decl name='__interceptor_ether_ntohost' mangled-name='__interceptor_ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntohost'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
@@ -20604,7 +20604,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- int __interceptor_initgroups(char*, __sanitizer::u32) -->
-    <function-decl name='__interceptor_initgroups' mangled-name='initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initgroups'>
+    <function-decl name='__interceptor_initgroups' mangled-name='__interceptor_initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_initgroups'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::u32' -->
@@ -20613,7 +20613,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_fstatvfs64(int, void*) -->
-    <function-decl name='__interceptor_fstatvfs64' mangled-name='fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatvfs64'>
+    <function-decl name='__interceptor_fstatvfs64' mangled-name='__interceptor_fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatvfs64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20622,7 +20622,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_statvfs64(char*, void*) -->
-    <function-decl name='__interceptor_statvfs64' mangled-name='statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='statvfs64'>
+    <function-decl name='__interceptor_statvfs64' mangled-name='__interceptor_statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_statvfs64'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20649,7 +20649,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_fstatfs64(int, void*) -->
-    <function-decl name='__interceptor_fstatfs64' mangled-name='fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatfs64'>
+    <function-decl name='__interceptor_fstatfs64' mangled-name='__interceptor_fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatfs64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20685,7 +20685,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_mntent* __interceptor_getmntent_r(void*, __sanitizer::__sanitizer_mntent*, char*, int) -->
-    <function-decl name='__interceptor_getmntent_r' mangled-name='getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getmntent_r'>
+    <function-decl name='__interceptor_getmntent_r' mangled-name='__interceptor_getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getmntent_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='fp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_mntent*' -->
@@ -20712,7 +20712,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_cond_signal(void*) -->
-    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_cond_signal'>
+    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='__interceptor_pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_cond_signal'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -20744,14 +20744,14 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_mutex_lock(void*) -->
-    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_lock'>
+    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='__interceptor_pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_lock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- void __interceptor__exit(int) -->
-    <function-decl name='__interceptor__exit' mangled-name='_exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_exit'>
+    <function-decl name='__interceptor__exit' mangled-name='__interceptor__exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor__exit'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- void -->
@@ -20787,14 +20787,14 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sigpending(__sanitizer::__sanitizer_sigset_t*) -->
-    <function-decl name='__interceptor_sigpending' mangled-name='sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigpending'>
+    <function-decl name='__interceptor_sigpending' mangled-name='__interceptor_sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigpending'>
       <!-- parameter of type '__sanitizer::__sanitizer_sigset_t*' -->
       <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <!-- int -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sigfillset(__sanitizer::__sanitizer_sigset_t*) -->
-    <function-decl name='__interceptor_sigfillset' mangled-name='sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigfillset'>
+    <function-decl name='__interceptor_sigfillset' mangled-name='__interceptor_sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigfillset'>
       <!-- parameter of type '__sanitizer::__sanitizer_sigset_t*' -->
       <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <!-- int -->
@@ -20819,7 +20819,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sigwaitinfo(__sanitizer::__sanitizer_sigset_t*, void*) -->
-    <function-decl name='__interceptor_sigwaitinfo' mangled-name='sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigwaitinfo'>
+    <function-decl name='__interceptor_sigwaitinfo' mangled-name='__interceptor_sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigwaitinfo'>
       <!-- parameter of type '__sanitizer::__sanitizer_sigset_t*' -->
       <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -20848,7 +20848,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_ppoll(__sanitizer::__sanitizer_pollfd*, __sanitizer::__sanitizer_nfds_t, void*, __sanitizer::__sanitizer_sigset_t*) -->
-    <function-decl name='__interceptor_ppoll' mangled-name='ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ppoll'>
+    <function-decl name='__interceptor_ppoll' mangled-name='__interceptor_ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ppoll'>
       <!-- parameter of type '__sanitizer::__sanitizer_pollfd*' -->
       <parameter type-id='type-id-1196' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::__sanitizer_nfds_t' -->
@@ -20861,7 +20861,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_poll(__sanitizer::__sanitizer_pollfd*, __sanitizer::__sanitizer_nfds_t, int) -->
-    <function-decl name='__interceptor_poll' mangled-name='poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='poll'>
+    <function-decl name='__interceptor_poll' mangled-name='__interceptor_poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_poll'>
       <!-- parameter of type '__sanitizer::__sanitizer_pollfd*' -->
       <parameter type-id='type-id-1196' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::__sanitizer_nfds_t' -->
@@ -20907,7 +20907,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___xpg_strerror_r(int, char*, SIZE_T) -->
-    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xpg_strerror_r'>
+    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__interceptor___xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xpg_strerror_r'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -20918,7 +20918,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_strerror_r(int, char*, SIZE_T) -->
-    <function-decl name='__interceptor_strerror_r' mangled-name='strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strerror_r'>
+    <function-decl name='__interceptor_strerror_r' mangled-name='__interceptor_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strerror_r'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -20936,7 +20936,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- int __interceptor_sched_getaffinity(int, SIZE_T, void*) -->
-    <function-decl name='__interceptor_sched_getaffinity' mangled-name='sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_getaffinity'>
+    <function-decl name='__interceptor_sched_getaffinity' mangled-name='__interceptor_sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sched_getaffinity'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <!-- parameter of type 'typedef SIZE_T' -->
@@ -20947,7 +20947,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- SIZE_T __interceptor_confstr(int, char*, SIZE_T) -->
-    <function-decl name='__interceptor_confstr' mangled-name='confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='confstr'>
+    <function-decl name='__interceptor_confstr' mangled-name='__interceptor_confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_confstr'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -20958,7 +20958,7 @@
       <return type-id='type-id-617'/>
     </function-decl>
     <!-- char* __interceptor_canonicalize_file_name(const char*) -->
-    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='canonicalize_file_name'>
+    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='__interceptor_canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_canonicalize_file_name'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2'/>
       <!-- char* -->
@@ -20989,7 +20989,7 @@
       <return type-id='type-id-617'/>
     </function-decl>
     <!-- SIZE_T __interceptor_wcsrtombs(char*, const wchar_t**, SIZE_T, void*) -->
-    <function-decl name='__interceptor_wcsrtombs' mangled-name='wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wcsrtombs'>
+    <function-decl name='__interceptor_wcsrtombs' mangled-name='__interceptor_wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wcsrtombs'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
       <!-- parameter of type 'const wchar_t**' -->
@@ -21013,7 +21013,7 @@
       <return type-id='type-id-617'/>
     </function-decl>
     <!-- SIZE_T __interceptor_mbsnrtowcs(wchar_t*, const char**, SIZE_T, SIZE_T, void*) -->
-    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsnrtowcs'>
+    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='__interceptor_mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsnrtowcs'>
       <!-- parameter of type 'wchar_t*' -->
       <parameter type-id='type-id-1434' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <!-- parameter of type 'const char**' -->
@@ -21028,7 +21028,7 @@
       <return type-id='type-id-617'/>
     </function-decl>
     <!-- SIZE_T __interceptor_mbsrtowcs(wchar_t*, const char**, SIZE_T, void*) -->
-    <function-decl name='__interceptor_mbsrtowcs' mangled-name='mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsrtowcs'>
+    <function-decl name='__interceptor_mbsrtowcs' mangled-name='__interceptor_mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsrtowcs'>
       <!-- parameter of type 'wchar_t*' -->
       <parameter type-id='type-id-1434' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <!-- parameter of type 'const char**' -->
@@ -21041,7 +21041,7 @@
       <return type-id='type-id-617'/>
     </function-decl>
     <!-- SIZE_T __interceptor_mbstowcs(wchar_t*, const char*, SIZE_T) -->
-    <function-decl name='__interceptor_mbstowcs' mangled-name='mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbstowcs'>
+    <function-decl name='__interceptor_mbstowcs' mangled-name='__interceptor_mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbstowcs'>
       <!-- parameter of type 'wchar_t*' -->
       <parameter type-id='type-id-1434' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21052,7 +21052,7 @@
       <return type-id='type-id-617'/>
     </function-decl>
     <!-- INTMAX_T __interceptor_strtoumax(const char*, char**, int) -->
-    <function-decl name='__interceptor_strtoumax' mangled-name='strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoumax'>
+    <function-decl name='__interceptor_strtoumax' mangled-name='__interceptor_strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoumax'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <!-- parameter of type 'char**' -->
@@ -21063,7 +21063,7 @@
       <return type-id='type-id-629'/>
     </function-decl>
     <!-- INTMAX_T __interceptor_strtoimax(const char*, char**, int) -->
-    <function-decl name='__interceptor_strtoimax' mangled-name='strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoimax'>
+    <function-decl name='__interceptor_strtoimax' mangled-name='__interceptor_strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoimax'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <!-- parameter of type 'char**' -->
@@ -21074,14 +21074,14 @@
       <return type-id='type-id-629'/>
     </function-decl>
     <!-- char* __interceptor_get_current_dir_name(int) -->
-    <function-decl name='__interceptor_get_current_dir_name' mangled-name='get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_current_dir_name'>
+    <function-decl name='__interceptor_get_current_dir_name' mangled-name='__interceptor_get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_get_current_dir_name'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
       <!-- char* -->
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- char* __interceptor_getcwd(char*, SIZE_T) -->
-    <function-decl name='__interceptor_getcwd' mangled-name='getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getcwd'>
+    <function-decl name='__interceptor_getcwd' mangled-name='__interceptor_getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getcwd'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
       <!-- parameter of type 'typedef SIZE_T' -->
@@ -21130,7 +21130,7 @@
       <return type-id='type-id-1164'/>
     </function-decl>
     <!-- int __interceptor_readdir_r(void*, __sanitizer::__sanitizer_dirent*, __sanitizer::__sanitizer_dirent**) -->
-    <function-decl name='__interceptor_readdir_r' mangled-name='readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readdir_r'>
+    <function-decl name='__interceptor_readdir_r' mangled-name='__interceptor_readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readdir_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_dirent*' -->
@@ -21148,14 +21148,14 @@
       <return type-id='type-id-1159'/>
     </function-decl>
     <!-- int __interceptor_sysinfo(void*) -->
-    <function-decl name='__interceptor_sysinfo' mangled-name='sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysinfo'>
+    <function-decl name='__interceptor_sysinfo' mangled-name='__interceptor_sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sysinfo'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_getpeername(int, void*, unsigned int*) -->
-    <function-decl name='__interceptor_getpeername' mangled-name='getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getpeername'>
+    <function-decl name='__interceptor_getpeername' mangled-name='__interceptor_getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getpeername'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21177,7 +21177,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- long double __interceptor_modfl(long double, long double*) -->
-    <function-decl name='__interceptor_modfl' mangled-name='modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modfl'>
+    <function-decl name='__interceptor_modfl' mangled-name='__interceptor_modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modfl'>
       <!-- parameter of type 'long double' -->
       <parameter type-id='type-id-592' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1'/>
       <!-- parameter of type 'long double*' -->
@@ -21186,7 +21186,7 @@
       <return type-id='type-id-592'/>
     </function-decl>
     <!-- float __interceptor_modff(float, float*) -->
-    <function-decl name='__interceptor_modff' mangled-name='modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modff'>
+    <function-decl name='__interceptor_modff' mangled-name='__interceptor_modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modff'>
       <!-- parameter of type 'float' -->
       <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1'/>
       <!-- parameter of type 'float*' -->
@@ -21262,7 +21262,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_gethostbyname_r(char*, __sanitizer::__sanitizer_hostent*, char*, SIZE_T, __sanitizer::__sanitizer_hostent**, int*) -->
-    <function-decl name='__interceptor_gethostbyname_r' mangled-name='gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname_r'>
+    <function-decl name='__interceptor_gethostbyname_r' mangled-name='__interceptor_gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname_r'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_hostent*' -->
@@ -21279,7 +21279,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_gethostbyaddr_r(void*, int, int, __sanitizer::__sanitizer_hostent*, char*, SIZE_T, __sanitizer::__sanitizer_hostent**, int*) -->
-    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyaddr_r'>
+    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='__interceptor_gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyaddr_r'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21342,7 +21342,7 @@
       <return type-id='type-id-1173'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_hostent* __interceptor_gethostbyname(char*) -->
-    <function-decl name='__interceptor_gethostbyname' mangled-name='gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname'>
+    <function-decl name='__interceptor_gethostbyname' mangled-name='__interceptor_gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
       <!-- __sanitizer::__sanitizer_hostent* -->
@@ -21371,7 +21371,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_inet_aton(const char*, void*) -->
-    <function-decl name='__interceptor_inet_aton' mangled-name='inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_aton'>
+    <function-decl name='__interceptor_inet_aton' mangled-name='__interceptor_inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inet_aton'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21404,7 +21404,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- int __interceptor_wait4(int, int*, int, void*) -->
-    <function-decl name='__interceptor_wait4' mangled-name='wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait4'>
+    <function-decl name='__interceptor_wait4' mangled-name='__interceptor_wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait4'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <!-- parameter of type 'int*' -->
@@ -21417,7 +21417,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_wait3(int*, int, void*) -->
-    <function-decl name='__interceptor_wait3' mangled-name='wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait3'>
+    <function-decl name='__interceptor_wait3' mangled-name='__interceptor_wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait3'>
       <!-- parameter of type 'int*' -->
       <parameter type-id='type-id-42' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21439,7 +21439,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_waitid(int, int, void*, int) -->
-    <function-decl name='__interceptor_waitid' mangled-name='waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='waitid'>
+    <function-decl name='__interceptor_waitid' mangled-name='__interceptor_waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_waitid'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
       <!-- parameter of type 'int' -->
@@ -21470,7 +21470,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_getitimer(int, void*) -->
-    <function-decl name='__interceptor_getitimer' mangled-name='getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getitimer'>
+    <function-decl name='__interceptor_getitimer' mangled-name='__interceptor_getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getitimer'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21479,7 +21479,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_clock_settime(__sanitizer::u32, void*) -->
-    <function-decl name='__interceptor_clock_settime' mangled-name='clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_settime'>
+    <function-decl name='__interceptor_clock_settime' mangled-name='__interceptor_clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_settime'>
       <!-- parameter of type 'typedef __sanitizer::u32' -->
       <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21488,7 +21488,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_clock_gettime(__sanitizer::u32, void*) -->
-    <function-decl name='__interceptor_clock_gettime' mangled-name='clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_gettime'>
+    <function-decl name='__interceptor_clock_gettime' mangled-name='__interceptor_clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_gettime'>
       <!-- parameter of type 'typedef __sanitizer::u32' -->
       <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21506,7 +21506,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_ioctl(int, unsigned int, void*) -->
-    <function-decl name='__interceptor_ioctl' mangled-name='ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ioctl'>
+    <function-decl name='__interceptor_ioctl' mangled-name='__interceptor_ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ioctl'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <!-- parameter of type 'unsigned int' -->
@@ -21517,7 +21517,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___isoc99_vfscanf(void*, const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vfscanf'>
+    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__interceptor___isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vfscanf'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21528,7 +21528,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___isoc99_fscanf(void*, const char*, ...) -->
-    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_fscanf'>
+    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__interceptor___isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_fscanf'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21538,7 +21538,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___isoc99_vsscanf(const char*, const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vsscanf'>
+    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__interceptor___isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vsscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21549,7 +21549,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___isoc99_sscanf(const char*, const char*, ...) -->
-    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_sscanf'>
+    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__interceptor___isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_sscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21559,7 +21559,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___isoc99_vscanf(const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vscanf'>
+    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__interceptor___isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
@@ -21568,7 +21568,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___isoc99_scanf(const char*, ...) -->
-    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_scanf'>
+    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__interceptor___isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_scanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
@@ -21576,7 +21576,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_vfscanf(void*, const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor_vfscanf' mangled-name='vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfscanf'>
+    <function-decl name='__interceptor_vfscanf' mangled-name='__interceptor_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vfscanf'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21608,7 +21608,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sscanf(const char*, const char*, ...) -->
-    <function-decl name='__interceptor_sscanf' mangled-name='sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
+    <function-decl name='__interceptor_sscanf' mangled-name='__interceptor_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21618,7 +21618,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_vscanf(const char*, typedef __va_list_tag __va_list_tag*) -->
-    <function-decl name='__interceptor_vscanf' mangled-name='vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vscanf'>
+    <function-decl name='__interceptor_vscanf' mangled-name='__interceptor_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vscanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
@@ -21627,7 +21627,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_scanf(const char*, ...) -->
-    <function-decl name='__interceptor_scanf' mangled-name='scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scanf'>
+    <function-decl name='__interceptor_scanf' mangled-name='__interceptor_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_scanf'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
@@ -21646,7 +21646,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- char* __interceptor_asctime_r(__sanitizer::__sanitizer_tm*, char*) -->
-    <function-decl name='__interceptor_asctime_r' mangled-name='asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='asctime_r'>
+    <function-decl name='__interceptor_asctime_r' mangled-name='__interceptor_asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_asctime_r'>
       <!-- parameter of type '__sanitizer::__sanitizer_tm*' -->
       <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -21662,7 +21662,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- char* __interceptor_ctime_r(unsigned long int*, char*) -->
-    <function-decl name='__interceptor_ctime_r' mangled-name='ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime_r'>
+    <function-decl name='__interceptor_ctime_r' mangled-name='__interceptor_ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime_r'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -21671,7 +21671,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- char* __interceptor_ctime(unsigned long int*) -->
-    <function-decl name='__interceptor_ctime' mangled-name='ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime'>
+    <function-decl name='__interceptor_ctime' mangled-name='__interceptor_ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1'/>
       <!-- char* -->
@@ -21687,14 +21687,14 @@
       <return type-id='type-id-1199'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_tm* __interceptor_gmtime(unsigned long int*) -->
-    <function-decl name='__interceptor_gmtime' mangled-name='gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gmtime'>
+    <function-decl name='__interceptor_gmtime' mangled-name='__interceptor_gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gmtime'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1'/>
       <!-- __sanitizer::__sanitizer_tm* -->
       <return type-id='type-id-1199'/>
     </function-decl>
     <!-- __sanitizer::__sanitizer_tm* __interceptor_localtime_r(unsigned long int*, void*) -->
-    <function-decl name='__interceptor_localtime_r' mangled-name='localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='localtime_r'>
+    <function-decl name='__interceptor_localtime_r' mangled-name='__interceptor_localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_localtime_r'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21710,14 +21710,14 @@
       <return type-id='type-id-1199'/>
     </function-decl>
     <!-- unsigned long int __interceptor_time(unsigned long int*) -->
-    <function-decl name='__interceptor_time' mangled-name='time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='time'>
+    <function-decl name='__interceptor_time' mangled-name='__interceptor_time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_time'>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-183' name='t' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1'/>
       <!-- unsigned long int -->
       <return type-id='type-id-33'/>
     </function-decl>
     <!-- int __interceptor_prctl(int, unsigned long int, unsigned long int, unsigned long int, unsigned long int) -->
-    <function-decl name='__interceptor_prctl' mangled-name='prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prctl'>
+    <function-decl name='__interceptor_prctl' mangled-name='__interceptor_prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_prctl'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
@@ -21732,7 +21732,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwritev64(int, __sanitizer::__sanitizer_iovec*, int, OFF64_T) -->
-    <function-decl name='__interceptor_pwritev64' mangled-name='pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev64'>
+    <function-decl name='__interceptor_pwritev64' mangled-name='__interceptor_pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -21745,7 +21745,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwritev(int, __sanitizer::__sanitizer_iovec*, int, OFF_T) -->
-    <function-decl name='__interceptor_pwritev' mangled-name='pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev'>
+    <function-decl name='__interceptor_pwritev' mangled-name='__interceptor_pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -21769,7 +21769,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwrite64(int, void*, OFF64_T, OFF64_T) -->
-    <function-decl name='__interceptor_pwrite64' mangled-name='pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite64'>
+    <function-decl name='__interceptor_pwrite64' mangled-name='__interceptor_pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21782,7 +21782,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_pwrite(int, void*, SIZE_T, OFF_T) -->
-    <function-decl name='__interceptor_pwrite' mangled-name='pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite'>
+    <function-decl name='__interceptor_pwrite' mangled-name='__interceptor_pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21795,7 +21795,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_write(int, void*, SIZE_T) -->
-    <function-decl name='__interceptor_write' mangled-name='write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='write'>
+    <function-decl name='__interceptor_write' mangled-name='__interceptor_write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_write'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21806,7 +21806,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_preadv64(int, __sanitizer::__sanitizer_iovec*, int, OFF64_T) -->
-    <function-decl name='__interceptor_preadv64' mangled-name='preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv64'>
+    <function-decl name='__interceptor_preadv64' mangled-name='__interceptor_preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -21819,7 +21819,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_preadv(int, __sanitizer::__sanitizer_iovec*, int, OFF_T) -->
-    <function-decl name='__interceptor_preadv' mangled-name='preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv'>
+    <function-decl name='__interceptor_preadv' mangled-name='__interceptor_preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -21832,7 +21832,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_readv(int, __sanitizer::__sanitizer_iovec*, int) -->
-    <function-decl name='__interceptor_readv' mangled-name='readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readv'>
+    <function-decl name='__interceptor_readv' mangled-name='__interceptor_readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readv'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
@@ -21869,7 +21869,7 @@
       <return type-id='type-id-619'/>
     </function-decl>
     <!-- SSIZE_T __interceptor_read(int, void*, SIZE_T) -->
-    <function-decl name='__interceptor_read' mangled-name='read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='read'>
+    <function-decl name='__interceptor_read' mangled-name='__interceptor_read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_read'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21889,7 +21889,7 @@
       <return type-id='type-id-592'/>
     </function-decl>
     <!-- float __interceptor_frexpf(float, int*) -->
-    <function-decl name='__interceptor_frexpf' mangled-name='frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='frexpf'>
+    <function-decl name='__interceptor_frexpf' mangled-name='__interceptor_frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_frexpf'>
       <!-- parameter of type 'float' -->
       <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <!-- parameter of type 'int*' -->
@@ -21907,7 +21907,7 @@
       <return type-id='type-id-587'/>
     </function-decl>
     <!-- int __interceptor_strncasecmp(const char*, const char*, SIZE_T) -->
-    <function-decl name='__interceptor_strncasecmp' mangled-name='strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncasecmp'>
+    <function-decl name='__interceptor_strncasecmp' mangled-name='__interceptor_strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncasecmp'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='s1' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -21947,7 +21947,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- char* __interceptor_textdomain(const char*) -->
-    <function-decl name='__interceptor_textdomain' mangled-name='textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='textdomain'>
+    <function-decl name='__interceptor_textdomain' mangled-name='__interceptor_textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_textdomain'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2'/>
       <!-- char* -->
@@ -21974,7 +21974,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_gettimeofday(void*, void*) -->
-    <function-decl name='__interceptor_gettimeofday' mangled-name='gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gettimeofday'>
+    <function-decl name='__interceptor_gettimeofday' mangled-name='__interceptor_gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gettimeofday'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -21983,7 +21983,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_kill(void*, int) -->
-    <function-decl name='__interceptor_pthread_kill' mangled-name='pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_kill'>
+    <function-decl name='__interceptor_pthread_kill' mangled-name='__interceptor_pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_kill'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22015,7 +22015,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sigaction(int, sigaction_t*, sigaction_t*) -->
-    <function-decl name='__interceptor_sigaction' mangled-name='sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigaction'>
+    <function-decl name='__interceptor_sigaction' mangled-name='__interceptor_sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigaction'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
       <!-- parameter of type 'sigaction_t*' -->
@@ -22035,7 +22035,7 @@
       <return type-id='type-id-635'/>
     </function-decl>
     <!-- int __interceptor_epoll_wait(int, void*, int, int) -->
-    <function-decl name='__interceptor_epoll_wait' mangled-name='epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_wait'>
+    <function-decl name='__interceptor_epoll_wait' mangled-name='__interceptor_epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_wait'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22048,7 +22048,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_epoll_ctl(int, int, int, void*) -->
-    <function-decl name='__interceptor_epoll_ctl' mangled-name='epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_ctl'>
+    <function-decl name='__interceptor_epoll_ctl' mangled-name='__interceptor_epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_ctl'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22068,7 +22068,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- int __interceptor_rmdir(char*) -->
-    <function-decl name='__interceptor_rmdir' mangled-name='rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdir'>
+    <function-decl name='__interceptor_rmdir' mangled-name='__interceptor_rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_rmdir'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <!-- int -->
@@ -22082,7 +22082,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- void __interceptor_abort(int) -->
-    <function-decl name='__interceptor_abort' mangled-name='abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='abort'>
+    <function-decl name='__interceptor_abort' mangled-name='__interceptor_abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_abort'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- void -->
@@ -22096,7 +22096,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- __sanitizer::uptr __interceptor_fwrite(void*, __sanitizer::uptr, __sanitizer::uptr, void*) -->
-    <function-decl name='__interceptor_fwrite' mangled-name='fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwrite'>
+    <function-decl name='__interceptor_fwrite' mangled-name='__interceptor_fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fwrite'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -22149,14 +22149,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- int __interceptor_unlink(char*) -->
-    <function-decl name='__interceptor_unlink' mangled-name='unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unlink'>
+    <function-decl name='__interceptor_unlink' mangled-name='__interceptor_unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_unlink'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <!-- int -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- long_t __interceptor_recv(int, void*, long_t, int) -->
-    <function-decl name='__interceptor_recv' mangled-name='recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='recv'>
+    <function-decl name='__interceptor_recv' mangled-name='__interceptor_recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_recv'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22180,7 +22180,7 @@
       <return type-id='type-id-638'/>
     </function-decl>
     <!-- long_t __interceptor_send(int, void*, long_t, int) -->
-    <function-decl name='__interceptor_send' mangled-name='send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send'>
+    <function-decl name='__interceptor_send' mangled-name='__interceptor_send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_send'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22225,14 +22225,14 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_close(int) -->
-    <function-decl name='__interceptor_close' mangled-name='close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='close'>
+    <function-decl name='__interceptor_close' mangled-name='__interceptor_close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_close'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- int -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_epoll_create1(int) -->
-    <function-decl name='__interceptor_epoll_create1' mangled-name='epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_create1'>
+    <function-decl name='__interceptor_epoll_create1' mangled-name='__interceptor_epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_create1'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- int -->
@@ -22255,7 +22255,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_bind(int, void*, unsigned int) -->
-    <function-decl name='__interceptor_bind' mangled-name='bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bind'>
+    <function-decl name='__interceptor_bind' mangled-name='__interceptor_bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_bind'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22266,7 +22266,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_connect(int, void*, unsigned int) -->
-    <function-decl name='__interceptor_connect' mangled-name='connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='connect'>
+    <function-decl name='__interceptor_connect' mangled-name='__interceptor_connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_connect'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22301,7 +22301,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_inotify_init1(int) -->
-    <function-decl name='__interceptor_inotify_init1' mangled-name='inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inotify_init1'>
+    <function-decl name='__interceptor_inotify_init1' mangled-name='__interceptor_inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inotify_init1'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- int -->
@@ -22315,7 +22315,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_signalfd(int, void*, int) -->
-    <function-decl name='__interceptor_signalfd' mangled-name='signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='signalfd'>
+    <function-decl name='__interceptor_signalfd' mangled-name='__interceptor_signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_signalfd'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22326,7 +22326,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_eventfd(unsigned int, int) -->
-    <function-decl name='__interceptor_eventfd' mangled-name='eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eventfd'>
+    <function-decl name='__interceptor_eventfd' mangled-name='__interceptor_eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_eventfd'>
       <!-- parameter of type 'unsigned int' -->
       <parameter type-id='type-id-211' name='initval' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22346,7 +22346,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_dup2(int, int) -->
-    <function-decl name='__interceptor_dup2' mangled-name='dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup2'>
+    <function-decl name='__interceptor_dup2' mangled-name='__interceptor_dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup2'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- parameter of type 'int' -->
@@ -22355,7 +22355,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_dup(int) -->
-    <function-decl name='__interceptor_dup' mangled-name='dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup'>
+    <function-decl name='__interceptor_dup' mangled-name='__interceptor_dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25'/>
       <!-- int -->
@@ -22391,7 +22391,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_open(const char*, int, int) -->
-    <function-decl name='__interceptor_open' mangled-name='open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='open'>
+    <function-decl name='__interceptor_open' mangled-name='__interceptor_open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_open'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22442,7 +22442,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_lstat64(const char*, void*) -->
-    <function-decl name='__interceptor_lstat64' mangled-name='lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lstat64'>
+    <function-decl name='__interceptor_lstat64' mangled-name='__interceptor_lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lstat64'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22451,7 +22451,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___lxstat64(int, const char*, void*) -->
-    <function-decl name='__interceptor___lxstat64' mangled-name='__lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat64'>
+    <function-decl name='__interceptor___lxstat64' mangled-name='__interceptor___lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -22471,7 +22471,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___lxstat(int, const char*, void*) -->
-    <function-decl name='__interceptor___lxstat' mangled-name='__lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat'>
+    <function-decl name='__interceptor___lxstat' mangled-name='__interceptor___lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -22491,7 +22491,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor___xstat64(int, const char*, void*) -->
-    <function-decl name='__interceptor___xstat64' mangled-name='__xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xstat64'>
+    <function-decl name='__interceptor___xstat64' mangled-name='__interceptor___xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xstat64'>
       <!-- parameter of type 'int' -->
       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <!-- parameter of type 'const char*' -->
@@ -22502,7 +22502,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_stat(const char*, void*) -->
-    <function-decl name='__interceptor_stat' mangled-name='stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='stat'>
+    <function-decl name='__interceptor_stat' mangled-name='__interceptor_stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_stat'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22538,7 +22538,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sem_timedwait(void*, void*) -->
-    <function-decl name='__interceptor_sem_timedwait' mangled-name='sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_timedwait'>
+    <function-decl name='__interceptor_sem_timedwait' mangled-name='__interceptor_sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_timedwait'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22561,14 +22561,14 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sem_destroy(void*) -->
-    <function-decl name='__interceptor_sem_destroy' mangled-name='sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_destroy'>
+    <function-decl name='__interceptor_sem_destroy' mangled-name='__interceptor_sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_destroy'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_sem_init(void*, int, unsigned int) -->
-    <function-decl name='__interceptor_sem_init' mangled-name='sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_init'>
+    <function-decl name='__interceptor_sem_init' mangled-name='__interceptor_sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22579,7 +22579,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_once(void*, void ()*) -->
-    <function-decl name='__interceptor_pthread_once' mangled-name='pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_once'>
+    <function-decl name='__interceptor_pthread_once' mangled-name='__interceptor_pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_once'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='o' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
       <!-- parameter of type 'void ()*' -->
@@ -22602,7 +22602,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_barrier_init(void*, void*, unsigned int) -->
-    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_barrier_init'>
+    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='__interceptor_pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_barrier_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='b' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22647,7 +22647,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_rwlock_trywrlock(void*) -->
-    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_trywrlock'>
+    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='__interceptor_pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_trywrlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -22661,7 +22661,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_rwlock_timedrdlock(void*, void*) -->
-    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_timedrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='__interceptor_pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_timedrdlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22670,7 +22670,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_rwlock_tryrdlock(void*) -->
-    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_tryrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='__interceptor_pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_tryrdlock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -22714,7 +22714,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_spin_lock(void*) -->
-    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_lock'>
+    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='__interceptor_pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_lock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -22728,7 +22728,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_spin_init(void*, int) -->
-    <function-decl name='__interceptor_pthread_spin_init' mangled-name='pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_init'>
+    <function-decl name='__interceptor_pthread_spin_init' mangled-name='__interceptor_pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22746,7 +22746,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_mutex_trylock(void*) -->
-    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_trylock'>
+    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='__interceptor_pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_trylock'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <!-- int -->
@@ -22760,7 +22760,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- int __interceptor_pthread_mutex_init(void*, void*) -->
-    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_init'>
+    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='__interceptor_pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_init'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -22879,7 +22879,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* __interceptor_mmap(void*, long_t, int, int, int, unsigned int) -->
-    <function-decl name='__interceptor_mmap' mangled-name='mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mmap'>
+    <function-decl name='__interceptor_mmap' mangled-name='__interceptor_mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mmap'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
       <!-- parameter of type 'typedef long_t' -->
@@ -22912,7 +22912,7 @@
       <return type-id='type-id-2'/>
     </function-decl>
     <!-- char* __interceptor_strncpy(char*, char*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_strncpy' mangled-name='strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
+    <function-decl name='__interceptor_strncpy' mangled-name='__interceptor_strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncpy'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -22932,7 +22932,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- char* __interceptor_strrchr(char*, int) -->
-    <function-decl name='__interceptor_strrchr' mangled-name='strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strrchr'>
+    <function-decl name='__interceptor_strrchr' mangled-name='__interceptor_strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strrchr'>
       <!-- parameter of type 'char*' -->
       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <!-- parameter of type 'int' -->
@@ -22959,7 +22959,7 @@
       <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* __interceptor_memmove(void*, void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_memmove' mangled-name='memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memmove'>
+    <function-decl name='__interceptor_memmove' mangled-name='__interceptor_memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memmove'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- parameter of type 'void*' -->
@@ -23003,7 +23003,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* __interceptor_memcpy(void*, void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_memcpy' mangled-name='memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcpy'>
+    <function-decl name='__interceptor_memcpy' mangled-name='__interceptor_memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memcpy'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- parameter of type 'void*' -->
@@ -23096,14 +23096,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- __sanitizer::uptr __interceptor_malloc_usable_size(void*) -->
-    <function-decl name='__interceptor_malloc_usable_size' mangled-name='malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='__interceptor_malloc_usable_size' mangled-name='__interceptor_malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc_usable_size'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1'/>
       <!-- typedef __sanitizer::uptr -->
       <return type-id='type-id-106'/>
     </function-decl>
     <!-- void __interceptor_cfree(void*) -->
-    <function-decl name='__interceptor_cfree' mangled-name='cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='__interceptor_cfree' mangled-name='__interceptor_cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_cfree'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- void -->
@@ -23117,7 +23117,7 @@
       <return type-id='type-id-4'/>
     </function-decl>
     <!-- void* __interceptor_realloc(void*, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_realloc' mangled-name='realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realloc'>
+    <function-decl name='__interceptor_realloc' mangled-name='__interceptor_realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realloc'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -23126,7 +23126,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* __interceptor_calloc(__sanitizer::uptr, __sanitizer::uptr) -->
-    <function-decl name='__interceptor_calloc' mangled-name='calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='calloc'>
+    <function-decl name='__interceptor_calloc' mangled-name='__interceptor_calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_calloc'>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
       <parameter type-id='type-id-106'/>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
@@ -23144,14 +23144,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* __interceptor_malloc(__sanitizer::uptr) -->
-    <function-decl name='__interceptor_malloc' mangled-name='malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='__interceptor_malloc' mangled-name='__interceptor_malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc'>
       <!-- parameter of type 'typedef __sanitizer::uptr' -->
       <parameter type-id='type-id-106' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='780' column='1'/>
       <!-- void* -->
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- char* __interceptor_realpath(const char*, char*) -->
-    <function-decl name='__interceptor_realpath' mangled-name='realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realpath'>
+    <function-decl name='__interceptor_realpath' mangled-name='__interceptor_realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realpath'>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-2' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
       <!-- parameter of type 'char*' -->
@@ -23169,7 +23169,7 @@
       <return type-id='type-id-4'/>
     </function-decl>
     <!-- void __interceptor_longjmp(__sanitizer::uptr*, int) -->
-    <function-decl name='__interceptor_longjmp' mangled-name='longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='longjmp'>
+    <function-decl name='__interceptor_longjmp' mangled-name='__interceptor_longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_longjmp'>
       <!-- parameter of type '__sanitizer::uptr*' -->
       <parameter type-id='type-id-472' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <!-- parameter of type 'int' -->
@@ -23178,7 +23178,7 @@
       <return type-id='type-id-4'/>
     </function-decl>
     <!-- int __interceptor___cxa_atexit(void (void*)*, void*, void*) -->
-    <function-decl name='__interceptor___cxa_atexit' mangled-name='__cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cxa_atexit'>
+    <function-decl name='__interceptor___cxa_atexit' mangled-name='__interceptor___cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___cxa_atexit'>
       <!-- parameter of type 'void (void*)*' -->
       <parameter type-id='type-id-671' name='f' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -23221,7 +23221,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- int __interceptor_nanosleep(void*, void*) -->
-    <function-decl name='__interceptor_nanosleep' mangled-name='nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nanosleep'>
+    <function-decl name='__interceptor_nanosleep' mangled-name='__interceptor_nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_nanosleep'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -23237,7 +23237,7 @@
       <return type-id='type-id-25'/>
     </function-decl>
     <!-- unsigned int __interceptor_sleep(unsigned int) -->
-    <function-decl name='__interceptor_sleep' mangled-name='sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sleep'>
+    <function-decl name='__interceptor_sleep' mangled-name='__interceptor_sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sleep'>
       <!-- parameter of type 'unsigned int' -->
       <parameter type-id='type-id-211' name='sec' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1'/>
       <!-- unsigned int -->
@@ -27191,7 +27191,7 @@
       <return type-id='type-id-157'/>
     </function-decl>
     <!-- void __tsan_unaligned_write2(uu16*, __sanitizer::u16) -->
-    <function-decl name='__tsan_unaligned_write2' mangled-name='__sanitizer_unaligned_store16' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store16'>
+    <function-decl name='__tsan_unaligned_write2' mangled-name='__tsan_unaligned_write2' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write2'>
       <!-- parameter of type 'uu16*' -->
       <parameter type-id='type-id-1453' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::u16' -->
@@ -27209,7 +27209,7 @@
       <return type-id='type-id-4'/>
     </function-decl>
     <!-- void __tsan_unaligned_write8(uu64*, __sanitizer::u64) -->
-    <function-decl name='__tsan_unaligned_write8' mangled-name='__sanitizer_unaligned_store64' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store64'>
+    <function-decl name='__tsan_unaligned_write8' mangled-name='__tsan_unaligned_write8' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write8'>
       <!-- parameter of type 'uu64*' -->
       <parameter type-id='type-id-1455' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1'/>
       <!-- parameter of type 'typedef __sanitizer::u64' -->
diff --git a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
index 1ba7ead9d421..ec6cbb3f6bc3 100644
--- a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
+++ b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
@@ -1098,15 +1098,15 @@
     <!-- std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) -->
     <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete[](void*) -->
-    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray' is-defined='yes'/>
+    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete[](void*, std::nothrow_t const&) -->
-    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray_nothrow' is-defined='yes'/>
+    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete(void*) -->
-    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_delete' is-defined='yes'/>
+    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator delete(void*, std::nothrow_t const&) -->
     <elf-symbol name='_ZdlPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator new[](unsigned long) -->
-    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_newarray' is-defined='yes'/>
+    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator new[](unsigned long, std::nothrow_t const&) -->
     <elf-symbol name='_ZnamRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- operator new(unsigned long) -->
@@ -1124,11 +1124,11 @@
     <!-- __libc_memalign -->
     <elf-symbol name='__libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_pvalloc -->
-    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_pvalloc,pvalloc' is-defined='yes'/>
+    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_realloc -->
     <elf-symbol name='__libc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __libc_valloc -->
-    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc,tc_valloc' is-defined='yes'/>
+    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __posix_memalign -->
     <elf-symbol name='__posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _fini -->
@@ -1138,19 +1138,19 @@
     <!-- calloc -->
     <elf-symbol name='calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cfree -->
-    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_cfree,__libc_cfree' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- free -->
     <elf-symbol name='free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mallinfo -->
     <elf-symbol name='mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc -->
-    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_malloc,__libc_malloc' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_size -->
     <elf-symbol name='malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_stats -->
     <elf-symbol name='malloc_stats' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- malloc_usable_size -->
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_size,tc_malloc_size' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- mallopt -->
     <elf-symbol name='mallopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- memalign -->
@@ -1164,7 +1164,7 @@
     <!-- munmap -->
     <elf-symbol name='munmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- posix_memalign -->
-    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_posix_memalign,__posix_memalign' is-defined='yes'/>
+    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- pvalloc -->
     <elf-symbol name='pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- realloc -->
@@ -1174,23 +1174,23 @@
     <!-- tc_calloc -->
     <elf-symbol name='tc_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc,__libc_calloc' is-defined='yes'/>
     <!-- tc_cfree -->
-    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_cfree,cfree' is-defined='yes'/>
     <!-- tc_delete -->
-    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPv' is-defined='yes'/>
     <!-- tc_delete_nothrow -->
     <elf-symbol name='tc_delete_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPvRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_deletearray -->
-    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPv' is-defined='yes'/>
     <!-- tc_deletearray_nothrow -->
-    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPvRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_free -->
     <elf-symbol name='tc_free' type='func-type' binding='global-binding' visibility='default-visibility' alias='free,__libc_free' is-defined='yes'/>
     <!-- tc_mallinfo -->
     <elf-symbol name='tc_mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='mallinfo' is-defined='yes'/>
     <!-- tc_malloc -->
-    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_malloc,malloc' is-defined='yes'/>
     <!-- tc_malloc_size -->
-    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size,malloc_size' is-defined='yes'/>
     <!-- tc_malloc_skip_new_handler -->
     <elf-symbol name='tc_malloc_skip_new_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tc_malloc_stats -->
@@ -1204,19 +1204,19 @@
     <!-- tc_new_nothrow -->
     <elf-symbol name='tc_new_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnwmRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_newarray -->
-    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_Znam' is-defined='yes'/>
     <!-- tc_newarray_nothrow -->
     <elf-symbol name='tc_newarray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnamRKSt9nothrow_t' is-defined='yes'/>
     <!-- tc_posix_memalign -->
-    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__posix_memalign,posix_memalign' is-defined='yes'/>
     <!-- tc_pvalloc -->
-    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc,__libc_pvalloc' is-defined='yes'/>
     <!-- tc_realloc -->
     <elf-symbol name='tc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_realloc,realloc' is-defined='yes'/>
     <!-- tc_set_new_mode -->
     <elf-symbol name='tc_set_new_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- tc_valloc -->
-    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_valloc,valloc' is-defined='yes'/>
     <!-- tc_version -->
     <elf-symbol name='tc_version' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- valloc -->
@@ -24511,7 +24511,7 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- size_t tc_malloc_size(void*) -->
-    <function-decl name='tc_malloc_size' mangled-name='malloc_usable_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='tc_malloc_size' mangled-name='tc_malloc_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc_size'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-58' name='ptr' filepath='src/tcmalloc.cc' line='1730' column='1'/>
       <!-- typedef size_t -->
@@ -24528,7 +24528,7 @@
       <return type-id='type-id-1624'/>
     </function-decl>
     <!-- int tc_posix_memalign(void**, size_t, size_t) -->
-    <function-decl name='tc_posix_memalign' mangled-name='posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='posix_memalign'>
+    <function-decl name='tc_posix_memalign' mangled-name='tc_posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_posix_memalign'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-151' name='result_ptr' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <!-- parameter of type 'typedef size_t' -->
@@ -24539,14 +24539,14 @@
       <return type-id='type-id-1'/>
     </function-decl>
     <!-- void* tc_pvalloc(size_t) -->
-    <function-decl name='tc_pvalloc' mangled-name='__libc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_pvalloc'>
+    <function-decl name='tc_pvalloc' mangled-name='tc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_pvalloc'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-62'/>
       <!-- void* -->
       <return type-id='type-id-58'/>
     </function-decl>
     <!-- void* tc_valloc(size_t) -->
-    <function-decl name='tc_valloc' mangled-name='__libc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_valloc'>
+    <function-decl name='tc_valloc' mangled-name='tc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_valloc'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-62'/>
       <!-- void* -->
@@ -24571,7 +24571,7 @@
       <return type-id='type-id-58'/>
     </function-decl>
     <!-- void* tc_newarray(size_t) -->
-    <function-decl name='tc_newarray' mangled-name='_Znam' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Znam'>
+    <function-decl name='tc_newarray' mangled-name='tc_newarray' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_newarray'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-62'/>
       <!-- void* -->
@@ -24594,7 +24594,7 @@
       <return type-id='type-id-58'/>
     </function-decl>
     <!-- void* tc_malloc(size_t) -->
-    <function-decl name='tc_malloc' mangled-name='malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='tc_malloc' mangled-name='tc_malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc'>
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-62'/>
       <!-- void* -->
@@ -24624,14 +24624,14 @@
       <return type-id='type-id-58'/>
     </function-decl>
     <!-- void tc_cfree(void*) -->
-    <function-decl name='tc_cfree' mangled-name='cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='tc_cfree' mangled-name='tc_cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_cfree'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-58'/>
       <!-- void -->
       <return type-id='type-id-60'/>
     </function-decl>
     <!-- void tc_delete(void*) -->
-    <function-decl name='tc_delete' mangled-name='_ZdlPv' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdlPv'>
+    <function-decl name='tc_delete' mangled-name='tc_delete' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_delete'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-58'/>
       <!-- void -->
@@ -24647,14 +24647,14 @@
       <return type-id='type-id-60'/>
     </function-decl>
     <!-- void tc_deletearray(void*) -->
-    <function-decl name='tc_deletearray' mangled-name='_ZdaPv' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPv'>
+    <function-decl name='tc_deletearray' mangled-name='tc_deletearray' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-58'/>
       <!-- void -->
       <return type-id='type-id-60'/>
     </function-decl>
     <!-- void tc_deletearray_nothrow(void*, const std::nothrow_t&) -->
-    <function-decl name='tc_deletearray_nothrow' mangled-name='_ZdaPvRKSt9nothrow_t' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPvRKSt9nothrow_t'>
+    <function-decl name='tc_deletearray_nothrow' mangled-name='tc_deletearray_nothrow' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray_nothrow'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-58' name='p' filepath='src/tcmalloc.cc' line='1636' column='1'/>
       <!-- parameter of type 'const std::nothrow_t&' -->
diff --git a/tests/data/test-annotate/test2.so.abi b/tests/data/test-annotate/test2.so.abi
index cc40ccd0e3c5..072834a187b5 100644
--- a/tests/data/test-annotate/test2.so.abi
+++ b/tests/data/test-annotate/test2.so.abi
@@ -7,13 +7,13 @@
   </elf-needed>
   <elf-function-symbols>
     <!-- first_type::first_type() -->
-    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- first_type::first_type() -->
-    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC1Ev' is-defined='yes'/>
     <!-- second_type::second_type() -->
-    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- second_type::second_type() -->
-    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC1Ev' is-defined='yes'/>
     <!-- a::build_first_type() -->
     <elf-symbol name='_ZN1a16build_first_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- a::build_second_type() -->
@@ -55,7 +55,7 @@
       </member-function>
       <member-function access='public' constructor='yes'>
         <!-- first_type::first_type() -->
-        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC1Ev'>
+        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC2Ev'>
           <!-- implicit parameter of type 'first_type*' -->
           <parameter type-id='type-id-7' is-artificial='yes'/>
           <!-- void -->
@@ -96,7 +96,7 @@
       </member-function>
       <member-function access='public' constructor='yes'>
         <!-- second_type::second_type() -->
-        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC1Ev'>
+        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC2Ev'>
           <!-- implicit parameter of type 'second_type*' -->
           <parameter type-id='type-id-9' is-artificial='yes'/>
           <!-- void -->
diff --git a/tests/data/test-annotate/test3.so.abi b/tests/data/test-annotate/test3.so.abi
index cbcb456d97c8..ca3790742779 100644
--- a/tests/data/test-annotate/test3.so.abi
+++ b/tests/data/test-annotate/test3.so.abi
@@ -4,7 +4,7 @@
   </elf-needed>
   <elf-function-symbols>
     <!-- __foo -->
-    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
     <!-- __foo__ -->
     <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _fini -->
@@ -12,7 +12,7 @@
     <!-- _init -->
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- foo -->
-    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='foo__,__foo__,__foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- foo__ -->
     <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
@@ -20,7 +20,7 @@
     <!-- void -->
     <type-decl name='void' id='type-id-1'/>
     <!-- void __foo() -->
-    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
       <!-- void -->
       <return type-id='type-id-1'/>
     </function-decl>
diff --git a/tests/data/test-diff-dwarf/test12-report.txt b/tests/data/test-diff-dwarf/test12-report.txt
index e69de29bb2d1..62dd8337d694 100644
--- a/tests/data/test-diff-dwarf/test12-report.txt
+++ b/tests/data/test-diff-dwarf/test12-report.txt
@@ -0,0 +1,7 @@
+Functions changes summary: 0 Removed, 0 Changed, 1 Added function
+Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
+
+1 Added function:
+
+  [A] 'function int _foo3(int, int)'
+
diff --git a/tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt b/tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt
index 4f4a765f9381..a79c11bed2dc 100644
--- a/tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt
+++ b/tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt
@@ -3,14 +3,14 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 4 functions with some indirect sub-type change:
 
-  [C] 'method S::S()' has some indirect sub-type changes:
+  [C] 'method S::S(int)' has some indirect sub-type changes:
     implicit parameter 0 of type 'S*' has sub-type changes:
       in pointed to type 'struct S':
         type size changed from 32 to 64 (in bits)
         1 data member insertion:
           'int S::m1', at offset 32 (in bits)
 
-  [C] 'method S::S(int)' has some indirect sub-type changes:
+  [C] 'method S::S()' has some indirect sub-type changes:
     implicit parameter 0 of type 'S*' has sub-type changes:
       pointed to type 'struct S' changed, as reported earlier
 
diff --git a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
index 61491027df5c..094a30dd3fee 100644
--- a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
+++ b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
@@ -1,10 +1,8 @@
-Functions changes summary: 3 Removed, 8 Changed, 0 Added functions
+Functions changes summary: 1 Removed, 8 Changed, 0 Added functions
 Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
-3 Removed functions:
+1 Removed function:
 
-  [D] 'method STR::STR(const char*)'
-  [D] 'method STR::~STR()'
   [D] 'method void std::_Tuple_impl<1ul>::_Tuple_impl()'
 
 8 functions with some indirect sub-type change:
diff --git a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt
index 10677fccd685..544488c6becf 100644
--- a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt
+++ b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt
@@ -1,4 +1,4 @@
-Functions changes summary: 0 Removed, 5 Changed (195 filtered out), 13 Added functions
+Functions changes summary: 0 Removed, 5 Changed (206 filtered out), 13 Added functions
 Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
 Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info
@@ -97,8 +97,8 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
                     no member function changes (10 filtered);
 
   [C] 'method std::codecvt_byname<wchar_t, char, __mbstate_t>* std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(const char*, std::size_t)' has some indirect sub-type changes:
-    Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-     and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+    Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+     and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
     implicit parameter 0 of type 'std::codecvt_byname<wchar_t, char, __mbstate_t>*' has sub-type changes:
       in pointed to type 'class std::codecvt_byname<wchar_t, char, __mbstate_t>':
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt
index 84667becbc25..c84cd1cd0c78 100644
--- a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt
+++ b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt
@@ -1,4 +1,4 @@
-Functions changes summary: 0 Removed, 5 Changed (195 filtered out), 13 Added functions
+Functions changes summary: 0 Removed, 5 Changed (206 filtered out), 13 Added functions
 Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
 Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info
@@ -97,8 +97,8 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
                     no member function changes (10 filtered);
 
   [C] 'method std::codecvt_byname<wchar_t, char, __mbstate_t>* std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(const char*, std::size_t)' at codecvt.h:462:1 has some indirect sub-type changes:
-    Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-     and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+    Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+     and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
     implicit parameter 0 of type 'std::codecvt_byname<wchar_t, char, __mbstate_t>*' has sub-type changes:
       in pointed to type 'class std::codecvt_byname<wchar_t, char, __mbstate_t>' at codecvt.h:458:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
index 3616cb3435bd..741487af86f8 100644
--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
@@ -317,20 +317,18 @@
 ================ end of changes of 'libtbbmalloc.so.2'===============
 
 ================ changes of 'libtbbmalloc_proxy.so.2'===============
-  Functions changes summary: 1 Removed, 0 Changed, 5 Added functions
+  Functions changes summary: 1 Removed, 0 Changed, 3 Added functions
   Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
   1 Removed function:
 
     [D] 'function bool __TBB_internal_find_original_malloc(int, const char**, void**)'    {__TBB_internal_find_original_malloc}
 
-  5 Added functions:
+  3 Added functions:
 
     [A] 'function void __libc_free(void*)'    {__libc_free}
     [A] 'function void* __libc_realloc(void*, size_t)'    {__libc_realloc}
-    [A] 'function void* calloc(size_t, size_t)'    {__libc_calloc, aliases calloc}
     [A] 'function size_t malloc_usable_size(void*)'    {malloc_usable_size}
-    [A] 'function void* valloc(size_t)'    {__libc_valloc, aliases valloc}
 
 ================ end of changes of 'libtbbmalloc_proxy.so.2'===============
 
diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
index dcd30874496b..9438b4ed8b00 100644
--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
@@ -165,20 +165,18 @@
 ================ end of changes of 'libtbbmalloc.so.2'===============
 
 ================ changes of 'libtbbmalloc_proxy.so.2'===============
-  Functions changes summary: 1 Removed, 0 Changed, 5 Added functions
+  Functions changes summary: 1 Removed, 0 Changed, 3 Added functions
   Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
   1 Removed function:
 
     [D] 'function bool __TBB_internal_find_original_malloc(int, const char**, void**)'    {__TBB_internal_find_original_malloc}
 
-  5 Added functions:
+  3 Added functions:
 
     [A] 'function void __libc_free(void*)'    {__libc_free}
     [A] 'function void* __libc_realloc(void*, size_t)'    {__libc_realloc}
-    [A] 'function void* calloc(size_t, size_t)'    {__libc_calloc, aliases calloc}
     [A] 'function size_t malloc_usable_size(void*)'    {malloc_usable_size}
-    [A] 'function void* valloc(size_t)'    {__libc_valloc, aliases valloc}
 
 ================ end of changes of 'libtbbmalloc_proxy.so.2'===============
 
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-4.suppr b/tests/data/test-diff-suppr/test23-alias-filter-4.suppr
index b7429d14505f..16edb095bbbf 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-4.suppr
+++ b/tests/data/test-diff-suppr/test23-alias-filter-4.suppr
@@ -1,3 +1,3 @@
  [suppress_function]
-   symbol_name_regexp = function1
+   symbol_name_regexp = __private_function
    allow_other_aliases = no
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt b/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt
index 0788d48931f7..8b06f3151b63 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt
+++ b/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt
@@ -4,8 +4,8 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 1 function with some indirect sub-type change:
 
   [C] 'function void __private_function(S*)' has some indirect sub-type changes:
-    Please note that the symbol of this function is function1@VERSION_1.0
-     and it aliases symbols: __private_function@PRIVATE_1.0, function2@VERSION_1.0
+    Please note that the symbol of this function is __private_function@PRIVATE_1.0
+     and it aliases symbols: function2@VERSION_1.0, function1@VERSION_1.0
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'typedef S':
         underlying type 'struct S' changed:
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt b/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt
index 0788d48931f7..8b06f3151b63 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt
+++ b/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt
@@ -4,8 +4,8 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 1 function with some indirect sub-type change:
 
   [C] 'function void __private_function(S*)' has some indirect sub-type changes:
-    Please note that the symbol of this function is function1@VERSION_1.0
-     and it aliases symbols: __private_function@PRIVATE_1.0, function2@VERSION_1.0
+    Please note that the symbol of this function is __private_function@PRIVATE_1.0
+     and it aliases symbols: function2@VERSION_1.0, function1@VERSION_1.0
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'typedef S':
         underlying type 'struct S' changed:
diff --git a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi
index 1fc1578e66e6..a8bbcf088f87 100644
--- a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi
+++ b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi
@@ -36,13 +36,13 @@
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1EPKcSt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams15file_descriptorC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams15file_descriptorC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams16mapped_file_sinkC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams16mapped_file_sinkC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams16mapped_file_sinkC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_source4initEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -50,31 +50,31 @@
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_source9alignmentEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_source9open_implERKNS0_24basic_mapped_file_paramsINS0_6detail4pathEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams18mapped_file_sourceC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams18mapped_file_sourceC1ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams18mapped_file_sourceC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openEPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openERKNS0_6detail4pathESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sink4openEiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1EPKcSt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openEPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openERKNS0_6detail4pathESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_source4openEiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC1EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2EPKcSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1EPKcSt13_Ios_Openmode' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams22file_descriptor_sourceC2EiNS0_21file_descriptor_flagsE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams22file_descriptor_sourceC1EiNS0_21file_descriptor_flagsE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail14system_failureB5cxx11EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -90,8 +90,8 @@
     <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_impl9open_fileENS0_24basic_mapped_file_paramsINS1_4pathEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail16mapped_file_implC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail16mapped_file_implD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl10close_implEbb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl14invalid_handleEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl4openERKNS1_4pathESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -100,8 +100,8 @@
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl4seekElSt12_Ios_Seekdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl5closeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_impl5writeEPKcl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail20file_descriptor_implD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5boost9iostreams6detail20file_descriptor_implD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost9iostreams6detail23mapped_file_params_base9normalizeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -506,13 +506,13 @@
             <var-decl name='pimpl_' type-id='type-id-110' visibility='default' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='143' column='1'/>
           </data-member>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC1Ev'>
+            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC2Ev'>
               <parameter type-id='type-id-101' is-artificial='yes'/>
               <return type-id='type-id-19'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC1EiNS0_21file_descriptor_flagsE'>
+            <function-decl name='file_descriptor' mangled-name='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams15file_descriptorC2EiNS0_21file_descriptor_flagsE'>
               <parameter type-id='type-id-101' is-artificial='yes'/>
               <parameter type-id='type-id-252'/>
               <parameter type-id='type-id-254'/>
@@ -656,7 +656,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor_source' mangled-name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams22file_descriptor_sourceC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode'>
+            <function-decl name='file_descriptor_source' mangled-name='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams22file_descriptor_sourceC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt13_Ios_Openmode'>
               <parameter type-id='type-id-107' is-artificial='yes'/>
               <parameter type-id='type-id-201'/>
               <parameter type-id='type-id-255'/>
@@ -723,7 +723,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC1EiNS0_21file_descriptor_flagsE'>
+            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC2EiNS0_21file_descriptor_flagsE'>
               <parameter type-id='type-id-105' is-artificial='yes'/>
               <parameter type-id='type-id-260'/>
               <parameter type-id='type-id-254'/>
@@ -747,7 +747,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC1ERKS1_'>
+            <function-decl name='file_descriptor_sink' mangled-name='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/file_descriptor.hpp' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams20file_descriptor_sinkC2ERKS1_'>
               <parameter type-id='type-id-105' is-artificial='yes'/>
               <parameter type-id='type-id-170'/>
               <return type-id='type-id-19'/>
@@ -816,7 +816,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='file_descriptor_impl' mangled-name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/file_descriptor.cpp' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail20file_descriptor_implC1Ev'>
+              <function-decl name='file_descriptor_impl' mangled-name='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/file_descriptor.cpp' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail20file_descriptor_implC2Ev'>
                 <parameter type-id='type-id-89' is-artificial='yes'/>
                 <return type-id='type-id-19'/>
               </function-decl>
@@ -1418,7 +1418,7 @@
             <var-decl name='pimpl_' type-id='type-id-116' visibility='default' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/mapped_file.hpp' line='218' column='1'/>
           </data-member>
           <member-function access='public' constructor='yes'>
-            <function-decl name='mapped_file_source' mangled-name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/mapped_file.hpp' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams18mapped_file_sourceC1Ev'>
+            <function-decl name='mapped_file_source' mangled-name='_ZN5boost9iostreams18mapped_file_sourceC2Ev' filepath='src/third_party/boost-1.60.0/boost/iostreams/device/mapped_file.hpp' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams18mapped_file_sourceC2Ev'>
               <parameter type-id='type-id-109' is-artificial='yes'/>
               <return type-id='type-id-19'/>
             </function-decl>
@@ -1582,7 +1582,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes'>
-              <function-decl name='~mapped_file_impl' mangled-name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/mapped_file.cpp' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail16mapped_file_implD1Ev'>
+              <function-decl name='~mapped_file_impl' mangled-name='_ZN5boost9iostreams6detail16mapped_file_implD2Ev' filepath='src/third_party/boost-1.60.0/libs/iostreams/src/mapped_file.cpp' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost9iostreams6detail16mapped_file_implD2Ev'>
                 <parameter type-id='type-id-92' is-artificial='yes'/>
                 <return type-id='type-id-19'/>
               </function-decl>
diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
index a90c17dfacd6..e7a50ee9ac50 100644
--- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
+++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
@@ -151,8 +151,8 @@
     <elf-symbol name='_ZN5mongo15FTDCFileManager6rotateEPNS_6ClientE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15FTDCFileManagerC1EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15FTDCFileManagerC2EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo15FTDCFileManagerC1EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo15FTDCFileManagerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo15FTDCFileManagerD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo15FTDCFileManagerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo15FTDCFileManagerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo15FTDCFileManagerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo15FTDCFileManagerD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16FTDCDecompressor10uncompressENS_14ConstDataRangeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16FTDCDecompressorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIiEERS2_T_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -4809,7 +4809,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerD2Ev' filepath='src/mongo/db/ftdc/file_manager.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerD1Ev'>
+          <function-decl name='~FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerD2Ev' filepath='src/mongo/db/ftdc/file_manager.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerD2Ev'>
             <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
diff --git a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi
index c6fa10347cda..faa3faa186b5 100644
--- a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi
+++ b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi
@@ -36,8 +36,8 @@
     <elf-symbol name='_ZN5boost10filesystem14symlink_statusERKNS0_4pathERNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entry16replace_filenameERKNS0_4pathENS0_11file_statusES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entry6assignERKNS0_4pathENS0_11file_statusES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem15directory_entryC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem15directory_entryC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem15directory_entryC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem15directory_entryC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem15directory_entryC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem15directory_entryC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entryD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem15directory_entryD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15directory_entryD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem15is_regular_fileENS0_11file_statusE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -45,24 +45,24 @@
     <elf-symbol name='_ZN5boost10filesystem16filesystem_error5m_impC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_error5m_impD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_error5m_impD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_error5m_impD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathENS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathES6_NS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsRKNS0_4pathENS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathENS_6system10error_codeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorC2ERKSsRKNS0_4pathES6_NS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorC1ERKSsRKNS0_4pathES6_NS_6system10error_codeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem16filesystem_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem16filesystem_errorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18create_directoriesERKNS0_4pathERNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18directory_iterator9incrementERNS_6system10error_codeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18directory_iterator9incrementEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem18directory_iteratorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem18directory_iteratorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem18portable_file_nameERKSs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem19permissions_presentENS0_11file_statusE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem19portable_posix_nameERKSs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -88,16 +88,16 @@
     <elf-symbol name='_ZN5boost10filesystem4path8iteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4path8iteratorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4path8iteratorD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4path8iteratorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC2EPKc' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC2ERKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC1ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC1IPKcEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC1ISbIwSt11char_traitsIwESaIwEEEERKT_PNS_9enable_ifINS0_11path_traits11is_pathableINS_5decayIS7_E4typeEEEvE4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1EPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC2ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1ERKSs' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem4pathC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem4pathC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC2IPKcEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1IPKcEET_S5_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathC2ISbIwSt11char_traitsIwESaIwEEEERKT_PNS_9enable_ifINS0_11path_traits11is_pathableINS_5decayIS7_E4typeEEEvE4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathC1ISbIwSt11char_traitsIwESaIwEEEERKT_PNS_9enable_ifINS0_11path_traits11is_pathableINS_5decayIS7_E4typeEEEvE4typeE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem4pathD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem4pathD2Ev' is-defined='yes'/>
@@ -109,10 +109,10 @@
     <elf-symbol name='_ZN5boost10filesystem4pathdVERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail10equivalentERKNS0_4pathES4_PNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail10remove_allERKNS0_4pathEPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10filesystem6detail11dir_itr_impD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail11lex_compareENS0_4path8iteratorES3_S3_S3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail11permissionsERKNS0_4pathENS0_5permsEPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10filesystem6detail11resize_fileERKNS0_4pathEmPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -167,30 +167,30 @@
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEE4swapERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEE5resetIS3_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1IS3_EEPT_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEE4swapERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2IS3_EEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1IS3_EEPT_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12noncopyable_11noncopyableC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12noncopyable_11noncopyableC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12noncopyable_11noncopyableC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIcEC1EPc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIcEC2EPc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIcEC1EPc' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIcED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIcED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIcED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIcED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIcED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIcED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIwEC1EPw' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost12scoped_arrayIwEC2EPw' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIwEC1EPw' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIwED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIwED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost12scoped_arrayIwED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIwED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost12scoped_arrayIwED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost12scoped_arrayIwED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost14checked_deleteINS_10filesystem16filesystem_error5m_impEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost14checked_deleteINS_10filesystem6detail11dir_itr_impEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost15iterator_facadeINS_10filesystem18directory_iteratorENS1_15directory_entryENS_25single_pass_traversal_tagERS3_lE7derivedEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -213,27 +213,27 @@
     <elf-symbol name='_ZN5boost20iterator_core_access9incrementINS_10filesystem18directory_iteratorEEEvRT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost20iterator_core_access9incrementINS_10filesystem4path8iteratorEEEvRT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail12shared_count4swapERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail12shared_countC1INS_10filesystem6detail11dir_itr_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail12shared_countC2INS_10filesystem6detail11dir_itr_impEEEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countC1INS_10filesystem6detail11dir_itr_impEEEPT_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail12shared_countD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail12shared_countD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail12shared_countD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_base12weak_releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_base7destroyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_base7releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail15sp_counted_baseC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail15sp_counted_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail15sp_counted_baseC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_baseD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_baseD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail15sp_counted_baseD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail15sp_counted_baseD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEE11get_deleterERKSt9type_info' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEE19get_untyped_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEE7disposeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -254,24 +254,24 @@
     <elf-symbol name='_ZN5boost6system10error_code21unspecified_bool_trueEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system10error_code5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system10error_code6assignEiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system10error_codeC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system10error_codeC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system10error_codeC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system12system_errorC1ENS0_10error_codeERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system12system_errorC2ENS0_10error_codeERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorC1ENS0_10error_codeERKSs' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system12system_errorD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system12system_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system12system_errorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system12system_errorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system14error_categoryC2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6system14error_categoryD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system14error_categoryD1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE' is-defined='yes'/>
     <elf-symbol name='_ZN5boost6systemeqERKNS0_15error_conditionES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boosteqINS_10filesystem18directory_iteratorENS1_15directory_entryENS_25single_pass_traversal_tagERS3_lS2_S3_S4_S5_lEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS6_12always_bool2ES8_S9_E4typeEE4typeERKNS_15iterator_facadeIS8_T0_T1_T2_T3_EERKNSH_IS9_T5_T6_T7_T8_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5boosteqINS_10filesystem4path8iteratorEKS2_NS_27bidirectional_traversal_tagERS4_lS3_S4_S5_S6_lEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS7_12always_bool2ES9_SA_E4typeEE4typeERKNS_15iterator_facadeIS9_T0_T1_T2_T3_EERKNSI_ISA_T5_T6_T7_T8_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -282,8 +282,8 @@
     <elf-symbol name='_ZN9__gnu_cxx17__is_null_pointerIcEEbPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC1ERKS2_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZNK5boost10filesystem11file_status11permissionsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNK5boost10filesystem11file_status4typeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNK5boost10filesystem15directory_entry12m_get_statusEPNS_6system10error_codeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -362,9 +362,9 @@
     <elf-symbol name='_ZNSs6appendIPKcEERSsT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs6appendIPcEERSsT_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1IPKcEET_S2_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2IPcEET_S1_RKSaIcE' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2IPKcEET_S2_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPKcEET_S2_RKSaIcE' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2IPcEET_S1_RKSaIcE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPcEET_S1_RKSaIcE' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIcE7compareEPKcS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14numeric_limitsIwE3maxEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1025,7 +1025,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='basic_string&lt;char*&gt;' mangled-name='_ZNSsC2IPcEET_S1_RKSaIcE' filepath='/usr/include/c++/4.9/bits/basic_string.tcc' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IPcEET_S1_RKSaIcE'>
+          <function-decl name='basic_string&lt;char*&gt;' mangled-name='_ZNSsC2IPcEET_S1_RKSaIcE' filepath='/usr/include/c++/4.9/bits/basic_string.tcc' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IPcEET_S1_RKSaIcE'>
             <parameter type-id='type-id-173' is-artificial='yes'/>
             <parameter type-id='type-id-42'/>
             <parameter type-id='type-id-42'/>
@@ -1536,7 +1536,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPcSsEC2ERKS1_'>
             <parameter type-id='type-id-76' is-artificial='yes'/>
             <parameter type-id='type-id-90'/>
             <return type-id='type-id-27'/>
@@ -1627,7 +1627,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected' constructor='yes'>
-            <function-decl name='noncopyable' mangled-name='_ZN5boost12noncopyable_11noncopyableC2Ev' filepath='src/third_party/boost-1.56.0/boost/core/noncopyable.hpp' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12noncopyable_11noncopyableC1Ev'>
+            <function-decl name='noncopyable' mangled-name='_ZN5boost12noncopyable_11noncopyableC2Ev' filepath='src/third_party/boost-1.56.0/boost/core/noncopyable.hpp' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12noncopyable_11noncopyableC2Ev'>
               <parameter type-id='type-id-81' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
@@ -1660,7 +1660,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_condition' mangled-name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system15error_conditionC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_condition' mangled-name='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system15error_conditionC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-87' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-104'/>
@@ -1705,13 +1705,13 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2Ev' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1Ev'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2Ev' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2Ev'>
               <parameter type-id='type-id-85' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-85' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-104'/>
@@ -1750,7 +1750,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-85' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-104'/>
@@ -1758,7 +1758,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC1EiRKNS0_14error_categoryE'>
+            <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system10error_codeC2EiRKNS0_14error_categoryE'>
               <parameter type-id='type-id-85' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-104'/>
@@ -3242,7 +3242,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC1Ev'>
+          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2Ev'>
             <parameter type-id='type-id-340' is-artificial='yes'/>
             <return type-id='type-id-27'/>
           </function-decl>
@@ -3372,7 +3372,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED1Ev'>
+          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED2Ev'>
             <parameter type-id='type-id-335' is-artificial='yes'/>
             <parameter type-id='type-id-15' is-artificial='yes'/>
             <return type-id='type-id-27'/>
@@ -3392,7 +3392,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED1Ev'>
+          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIcED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIcED2Ev'>
             <parameter type-id='type-id-335' is-artificial='yes'/>
             <parameter type-id='type-id-15' is-artificial='yes'/>
             <return type-id='type-id-27'/>
@@ -3535,7 +3535,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC1Ev'>
+          <function-decl name='shared_ptr' mangled-name='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/shared_ptr.hpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10shared_ptrINS_10filesystem16filesystem_error5m_impEEC2Ev'>
             <parameter type-id='type-id-348' is-artificial='yes'/>
             <return type-id='type-id-27'/>
           </function-decl>
@@ -3701,13 +3701,13 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='shared_count' mangled-name='_ZN5boost6detail12shared_countC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC1Ev'>
+            <function-decl name='shared_count' mangled-name='_ZN5boost6detail12shared_countC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC2Ev'>
               <parameter type-id='type-id-274' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
-            <function-decl name='~shared_count' mangled-name='_ZN5boost6detail12shared_countD2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countD1Ev'>
+            <function-decl name='~shared_count' mangled-name='_ZN5boost6detail12shared_countD2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countD2Ev'>
               <parameter type-id='type-id-274' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
@@ -3728,7 +3728,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='shared_count&lt;boost::filesystem::filesystem_error::m_imp&gt;' mangled-name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC1INS_10filesystem16filesystem_error5m_impEEEPT_'>
+            <function-decl name='shared_count&lt;boost::filesystem::filesystem_error::m_imp&gt;' mangled-name='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/shared_count.hpp' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC2INS_10filesystem16filesystem_error5m_impEEEPT_'>
               <parameter type-id='type-id-274' is-artificial='yes'/>
               <parameter type-id='type-id-310'/>
               <return type-id='type-id-27'/>
@@ -3756,7 +3756,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_baseC1Ev'>
+            <function-decl name='sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_baseC2Ev'>
               <parameter type-id='type-id-278' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
@@ -3965,7 +3965,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='sp_counted_impl_p' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC1EPS4_'>
+            <function-decl name='sp_counted_impl_p' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem16filesystem_error5m_impEEC2EPS4_'>
               <parameter type-id='type-id-284' is-artificial='yes'/>
               <parameter type-id='type-id-310'/>
               <return type-id='type-id-27'/>
@@ -4041,7 +4041,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem15directory_entryC1Ev'>
+            <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem15directory_entryC2Ev'>
               <parameter type-id='type-id-297' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
@@ -4168,20 +4168,20 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1Ev'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2Ev'>
               <parameter type-id='type-id-315' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1ERKS1_'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2ERKS1_'>
               <parameter type-id='type-id-315' is-artificial='yes'/>
               <parameter type-id='type-id-401'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1EPKc'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2EPKc'>
               <parameter type-id='type-id-315' is-artificial='yes'/>
               <parameter type-id='type-id-419'/>
               <return type-id='type-id-27'/>
@@ -4276,20 +4276,20 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1Ev'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2Ev'>
               <parameter type-id='type-id-315' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1ERKS1_'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2ERKS1_'>
               <parameter type-id='type-id-315' is-artificial='yes'/>
               <parameter type-id='type-id-401'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1EPKc'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2EPKc'>
               <parameter type-id='type-id-315' is-artificial='yes'/>
               <parameter type-id='type-id-419'/>
               <return type-id='type-id-27'/>
@@ -4461,7 +4461,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC1EPKc'>
+            <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem4pathC2EPKc'>
               <parameter type-id='type-id-315' is-artificial='yes'/>
               <parameter type-id='type-id-419'/>
               <return type-id='type-id-27'/>
@@ -4629,20 +4629,20 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC1Ev'>
+            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC2Ev'>
               <parameter type-id='type-id-302' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE'>
+            <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE'>
               <parameter type-id='type-id-302' is-artificial='yes'/>
               <parameter type-id='type-id-401'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
-            <function-decl name='~directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorD1Ev'>
+            <function-decl name='~directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorD2Ev'>
               <parameter type-id='type-id-302' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
@@ -4722,7 +4722,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorC1ERKSsNS_6system10error_codeE'>
+            <function-decl name='filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorC2ERKSsNS_6system10error_codeE'>
               <parameter type-id='type-id-307' is-artificial='yes'/>
               <parameter type-id='type-id-506'/>
               <parameter type-id='type-id-84'/>
@@ -4763,7 +4763,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorD1Ev'>
+            <function-decl name='~filesystem_error' mangled-name='_ZN5boost10filesystem16filesystem_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem16filesystem_errorD2Ev'>
               <parameter type-id='type-id-307' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
@@ -4829,13 +4829,13 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impC1Ev'>
+              <function-decl name='dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impC2Ev'>
                 <parameter type-id='type-id-291' is-artificial='yes'/>
                 <return type-id='type-id-27'/>
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes'>
-              <function-decl name='~dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impD1Ev'>
+              <function-decl name='~dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' filepath='src/third_party/boost-1.56.0/boost/filesystem/operations.hpp' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11dir_itr_impD2Ev'>
                 <parameter type-id='type-id-291' is-artificial='yes'/>
                 <parameter type-id='type-id-15' is-artificial='yes'/>
                 <return type-id='type-id-27'/>
@@ -5204,7 +5204,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc'>
+            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc'>
               <parameter type-id='type-id-355' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-104'/>
@@ -5213,7 +5213,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC1EiRKNS0_14error_categoryEPKc'>
+            <function-decl name='system_error' mangled-name='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorC2EiRKNS0_14error_categoryEPKc'>
               <parameter type-id='type-id-355' is-artificial='yes'/>
               <parameter type-id='type-id-15'/>
               <parameter type-id='type-id-104'/>
@@ -5264,35 +5264,35 @@
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-355' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-355' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-355' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-355' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='-1'>
-            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD1Ev'>
+            <function-decl name='~system_error' mangled-name='_ZN5boost6system12system_errorD2Ev' filepath='src/third_party/boost-1.56.0/boost/system/system_error.hpp' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6system12system_errorD2Ev'>
               <parameter type-id='type-id-355' is-artificial='yes'/>
               <parameter type-id='type-id-15' is-artificial='yes'/>
               <return type-id='type-id-27'/>
@@ -5791,7 +5791,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIwED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIwED1Ev'>
+          <function-decl name='~scoped_array' mangled-name='_ZN5boost12scoped_arrayIwED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/scoped_array.hpp' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost12scoped_arrayIwED2Ev'>
             <parameter type-id='type-id-661' is-artificial='yes'/>
             <parameter type-id='type-id-15' is-artificial='yes'/>
             <return type-id='type-id-27'/>
diff --git a/tests/data/test-read-dwarf/test11-pr18828.so.abi b/tests/data/test-read-dwarf/test11-pr18828.so.abi
index 1aa056ef2b5f..6734a8e437c7 100644
--- a/tests/data/test-read-dwarf/test11-pr18828.so.abi
+++ b/tests/data/test-read-dwarf/test11-pr18828.so.abi
@@ -40,24 +40,24 @@
     <elf-symbol name='_ZN10mongoutils3str6streamlsIA42_cEERS1_RKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10mongoutils3str6streamlsIA50_cEERS1_RKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10mongoutils3str6streamlsIiEERS1_RKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10AtomicWordIjE16fetchAndSubtractEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10AtomicWordIjE16subtractAndFetchEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC2EPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10StringDataC1ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC1EPKc' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo10StringDataC2ERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC1ERKSs' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo10StringDataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo10StringDataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo10StringDataC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBException10addContextERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBExceptionC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBExceptionC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11DBExceptionC1ERKSsi' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11DBExceptionD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11DBExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11DBExceptionD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11DBExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11DBExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11DBExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11DBExceptionD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE12reserveBytesEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE13appendNumImplIcEEvT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE13appendNumImplIiEEvT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -71,22 +71,22 @@
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendNumEc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendNumEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendStrENS_10StringDataEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12LittleEndianIcEC1Ec' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12LittleEndianIcEC2Ec' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12LittleEndianIcEC1Ec' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12LittleEndianIiEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12LittleEndianIiEC2Ei' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12LittleEndianIiEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12SharedBufferC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12SharedBufferC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo12SharedBufferC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12LittleEndianIiEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12LittleEndianIiEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12LittleEndianIiEC1Ei' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12SharedBufferC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo12SharedBufferC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12SharedBufferC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12SharedBufferD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo12SharedBufferD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo12SharedBufferD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ConstDataViewC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ConstDataViewC2EPKc' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ConstDataViewC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ExceptionInfoC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ExceptionInfoC2ERKSsi' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo13ExceptionInfoC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ConstDataViewC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ConstDataViewC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ConstDataViewC1EPKc' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ExceptionInfoC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo13ExceptionInfoC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ExceptionInfoC1ERKSsi' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo13ExceptionInfoD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo13ExceptionInfoD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo13ExceptionInfoD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14BSONObjBuilder11appendArrayENS_10StringDataERKNS_7BSONObjE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -97,16 +97,16 @@
     <elf-symbol name='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14BSONObjBuilder6appendISsEERS0_NS_10StringDataERKSt6vectorIT_SaIS5_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14BSONObjBuilder6numStrEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderC2Ei' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo14BSONObjBuilderD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderC1Ei' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo14BSONObjBuilderD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo14BSONObjBuilderD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo14addSASLOptionsEPNS_17optionenvironment13OptionSectionE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15BSONSizeTracker3gotEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15tagLittleEndianIcEENS_12LittleEndianIT_EES2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo15tagLittleEndianIiEENS_12LittleEndianIT_EES2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo16SASLGlobalParamsC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo16SASLGlobalParamsC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo16SASLGlobalParamsC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16SASLGlobalParamsD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo16SASLGlobalParamsD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16SASLGlobalParamsD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo16TrivialAllocator4FreeEPv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -115,8 +115,8 @@
     <elf-symbol name='_ZN5mongo16storeSASLOptionsERKNS_17optionenvironment11EnvironmentE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEE5SBNUMIiEERS2_T_iPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEE6appendENS_10StringDataE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEElsENS_10StringDataE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -130,11 +130,11 @@
     <elf-symbol name='_ZN5mongo17optionenvironment17OptionDescriptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17optionenvironment5ValueD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo17optionenvironment5ValueD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo17optionenvironment5ValueD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionC2ERKSsi' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionC1ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionC2ERKSsi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionC1ERKSsi' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo18AssertionExceptionD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo18AssertionExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo18AssertionExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo18AssertionExceptionD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo21MsgAssertionExceptionC1EiRKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo21MsgAssertionExceptionC2EiRKSs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo21MsgAssertionExceptionC1EiRKSs' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo21MsgAssertionExceptionD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -145,20 +145,20 @@
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsE3setERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsE6appendEPNS_16OperationContextERNS_14BSONObjBuilderERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsE8validateERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISsED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE3setERKNS_11BSONElementE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE3setERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE6appendEPNS_16OperationContextERNS_14BSONObjBuilderERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEE8validateERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterIiE3setERKNS_11BSONElementE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterIiE3setERKi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo23ExportedServerParameterIiE6appendEPNS_16OperationContextERNS_14BSONObjBuilderERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -171,8 +171,8 @@
     <elf-symbol name='_ZN5mongo25BSONObjBuilderValueStreamD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo25BSONObjBuilderValueStreamD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo25BSONObjBuilderValueStreamD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameter8validateERKi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo36ExportedScramIterationCountParameterC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo36ExportedScramIterationCountParameterD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo36ExportedScramIterationCountParameterD1Ev' is-defined='yes'/>
@@ -183,11 +183,11 @@
     <elf-symbol name='_ZN5mongo6Status9ErrorInfoD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6Status9ErrorInfoD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Status9ErrorInfoD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6StatusC1EOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6StatusC2EOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusC1EOS0_' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo6StatusD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo6StatusD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo6StatusD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6endian14littleToNativeIiEET_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6endian14nativeToLittleIcEET_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6endian14nativeToLittleIiEET_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -205,8 +205,8 @@
     <elf-symbol name='_ZN5mongo6logger16LogstreamBuilderlsEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6logger16LogstreamBuilderlsERKSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo7BSONObj4initEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo7BSONObjC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo7BSONObjC2EPKc' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo7BSONObjC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo7BSONObjC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo7BSONObjC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo7BSONObjC1EPKc' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo7BSONObjD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN5mongo7BSONObjD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo7BSONObjD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo8DataType10unsafeLoadINS_12LittleEndianIiEEEEvPT_PKcPm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -232,44 +232,44 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE10deallocateEPSsm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE7destroyISsEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISsED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEE7destroyIS5_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEE7destroyIS5_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEE7destroyIS4_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx14__alloc_traitsISaISsEE15_S_always_equalEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx14__alloc_traitsISaISsEE27_S_propagate_on_copy_assignEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_bufferISt4pairIKSsSsEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_bufferISt4pairIKSsSsEE7_M_addrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxxneIPKSsSt6vectorISsSaISsEEEEbRKNS_17__normal_iteratorIT_T0_EESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxxneIPSsSt6vectorISsSaISsEEEEbRKNS_17__normal_iteratorIT_T0_EESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -326,25 +326,25 @@
     <elf-symbol name='_ZNKSt9_Any_data9_M_accessEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNKSt9_Any_data9_M_accessIPFN5mongo6StatusEPNS1_18InitializerContextEEEERKT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISsEC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISsEC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsEC1ERKS_' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISsED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISsED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0EPN5mongo14BSONObjBuilderELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEELb0EE7_M_headERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN5mongo14BSONObjBuilderEELb1EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -352,30 +352,30 @@
     <elf-symbol name='_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEELb1EE7_S_baseES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEELb1EE7_S_baseES6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Iter_baseIPSsLb0EE7_S_baseES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE11_M_put_nodeEPSt10_List_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE11_M_put_nodeEPSt10_List_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeIN5mongo17optionenvironment13OptionSectionEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_nodeIN5mongo17optionenvironment13OptionSectionEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeIN5mongo17optionenvironment13OptionSectionEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEED2Ev' is-defined='yes'/>
@@ -383,12 +383,12 @@
     <elf-symbol name='_ZNSt10shared_ptrIN5mongo17optionenvironment10ConstraintEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN5mongo17optionenvironment10ConstraintEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10shared_ptrIN5mongo17optionenvironment10ConstraintEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm1EISt14default_deleteIN5mongo14BSONObjBuilderEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN5mongo14BSONObjBuilderEEEE7_M_headERS4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN5mongo14BSONObjBuilderEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKSsPSsEET0_T_S7_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -398,31 +398,31 @@
     <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10shared_ptrIN5mongo17optionenvironment10ConstraintEEEEvT_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_impl12_M_swap_dataERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE13_M_deallocateEPSsm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISsSaISsEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE12_Vector_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE13_M_deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeISt4pairIKSsSsEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13move_iteratorIPSsEC1ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13move_iteratorIPSsEC2ES0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13move_iteratorIPSsEC2ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13move_iteratorIPSsEC1ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13move_iteratorIPSsEC2ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13move_iteratorIPSsEC1ES0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt13move_iteratorIPSsEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE10_M_destroyERSt9_Any_dataSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE10_M_managerERSt9_Any_dataRKS8_St18_Manager_operation' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -431,34 +431,34 @@
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE15_M_init_functorERSt9_Any_dataOS6_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE21_M_not_empty_functionIS5_EEbRKPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFN5mongo6StatusEPNS1_18InitializerContextEEE8_M_cloneERSt9_Any_dataRKS8_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_Function_baseD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_Function_baseD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseD1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt14unary_functionIPN5mongo18InitializerContextENS0_6StatusEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14unary_functionIPN5mongo18InitializerContextENS0_6StatusEEC2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt14unary_functionIPN5mongo18InitializerContextENS0_6StatusEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE10deallocateERS0_PSsm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE11_S_max_sizeIKS0_vEEmRT_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE7destroyISsEEvRS0_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE8allocateERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISsEE8max_sizeERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEEE10deallocateERS5_PS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10_S_destroyIS3_EENSt9enable_ifIXsrSt6__and_IINS6_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS5_PSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10_S_destroyIS3_EENSt9enable_ifIXsrSt6__and_IJNS6_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS5_PSB_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10_S_destroyIS3_EENSt9enable_ifIXsrSt6__and_IJNS6_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS5_PSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE10deallocateERS5_PS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKSsSsEEEE7destroyIS3_EEvRS5_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Function_handlerIFN5mongo6StatusEPNS0_18InitializerContextEEPS4_E9_M_invokeERKSt9_Any_dataS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsEET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPSsS2_EET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -469,12 +469,12 @@
     <elf-symbol name='_ZNSt31_Maybe_unary_or_binary_functionIN5mongo6StatusEJPNS0_18InitializerContextEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4listIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -494,20 +494,20 @@
     <elf-symbol name='_ZNSt6vectorISsSaISsEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEE9push_backEOSs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC2ERKS0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC1ERKS0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISsSaISsEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISsSaISsEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEEaSEOS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorISsSaISsEEaSERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EE13_M_initializeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -518,33 +518,33 @@
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessIPFN5mongo6StatusEPNS1_18InitializerContextEEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessIPKSt9type_infoEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9_Any_data9_M_accessIPPFN5mongo6StatusEPNS1_18InitializerContextEEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9exceptionC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZSt10_ConstructISsJSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsISsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9exceptionC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt10_ConstructISsJSsEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt10_ConstructISsJSsEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt11__addressofIKPFN5mongo6StatusEPNS0_18InitializerContextEEEPT_RS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt11__addressofISsEPT_RS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt11__addressofISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEEPT_RS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE' is-defined='yes'/>
+    <elf-symbol name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN5mongo14BSONObjBuilderEEIEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt12__get_helperILm1ESt14default_deleteIN5mongo14BSONObjBuilderEEJEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS5_DpT1_EE' is-defined='yes'/>
     <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN5mongo14BSONObjBuilderEEJEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEENSt11_Miter_baseIT_E13iterator_typeES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -568,12 +568,12 @@
     <elf-symbol name='_ZSt22__uninitialized_copy_aISt13move_iteratorIPSsES1_SsET0_T_S4_S3_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt32__make_move_if_noexcept_iteratorIPSsSt13move_iteratorIS0_EET0_T_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt34__uninitialized_move_if_noexcept_aIPSsS0_SaISsEET0_T_S3_S2_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERKSD_' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3maxImERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEENS1_IPSsS6_EEET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt4copyIPSsS0_ET0_T_S2_S1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -3510,7 +3510,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='list' mangled-name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev'>
+          <function-decl name='list' mangled-name='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4listIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev'>
             <parameter type-id='type-id-2118' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -3544,7 +3544,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC1Ev'>
+              <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EE10_List_implC2Ev'>
                 <parameter type-id='type-id-1773' is-artificial='yes'/>
                 <return type-id='type-id-57'/>
               </function-decl>
@@ -3591,14 +3591,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED1Ev'>
+          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EED2Ev'>
             <parameter type-id='type-id-1770' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC1Ev'>
+          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment13OptionSectionESaIS2_EEC2Ev'>
             <parameter type-id='type-id-1770' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -3829,7 +3829,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC1Ev'>
+              <function-decl name='_List_impl' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EE10_List_implC2Ev'>
                 <parameter type-id='type-id-1766' is-artificial='yes'/>
                 <return type-id='type-id-57'/>
               </function-decl>
@@ -3876,14 +3876,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED1Ev'>
+          <function-decl name='~_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EED2Ev'>
             <parameter type-id='type-id-1763' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC1Ev'>
+          <function-decl name='_List_base' mangled-name='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_list.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_List_baseIN5mongo17optionenvironment17OptionDescriptionESaIS2_EEC2Ev'>
             <parameter type-id='type-id-1763' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -3937,14 +3937,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev'>
             <parameter type-id='type-id-2015' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev'>
             <parameter type-id='type-id-2015' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -4064,13 +4064,13 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC1Ev'>
+          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC2Ev'>
             <parameter type-id='type-id-2260' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~vector' mangled-name='_ZNSt6vectorISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEED1Ev'>
+          <function-decl name='~vector' mangled-name='_ZNSt6vectorISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEED2Ev'>
             <parameter type-id='type-id-2260' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -4131,7 +4131,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC1ERKS0_'>
+          <function-decl name='vector' mangled-name='_ZNSt6vectorISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISsSaISsEEC2ERKS0_'>
             <parameter type-id='type-id-2260' is-artificial='yes'/>
             <parameter type-id='type-id-1504'/>
             <return type-id='type-id-57'/>
@@ -4241,13 +4241,13 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1Ev'>
+              <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2Ev'>
                 <parameter type-id='type-id-1911' is-artificial='yes'/>
                 <return type-id='type-id-57'/>
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_'>
+              <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC2ERKS0_'>
                 <parameter type-id='type-id-1911' is-artificial='yes'/>
                 <parameter type-id='type-id-971'/>
                 <return type-id='type-id-57'/>
@@ -4332,13 +4332,13 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC1Ev'>
+          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC2Ev'>
             <parameter type-id='type-id-1904' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEED1Ev'>
+          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEED2Ev'>
             <parameter type-id='type-id-1904' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -4378,7 +4378,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_'>
+          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISsSaISsEEC2ERKS0_'>
             <parameter type-id='type-id-1904' is-artificial='yes'/>
             <parameter type-id='type-id-974'/>
             <return type-id='type-id-57'/>
@@ -4431,7 +4431,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISsED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISsED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsED2Ev'>
             <parameter type-id='type-id-2027' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -4445,7 +4445,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='allocator' mangled-name='_ZNSaISsEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISsEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISsEC2Ev'>
             <parameter type-id='type-id-2027' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -4500,7 +4500,7 @@
           <typedef-decl name='rebind_alloc' type-id='type-id-2445' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='197' column='1' id='type-id-2444'/>
         </member-type>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE9constructISsJSsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_'>
+          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE9constructISsISsEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS0_PT_DpOS3_'>
             <parameter type-id='type-id-2026' name='__a' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1'/>
             <parameter type-id='type-id-2072' name='__p' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1'/>
             <return type-id='type-id-57'/>
@@ -4515,7 +4515,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE12_S_constructISsJSsEEENSt9enable_ifIXsrSt6__and_IJNS1_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_'>
+          <function-decl name='_S_construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE12_S_constructISsISsEEENSt9enable_ifIXsrSt6__and_IINS1_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS0_PS6_DpOS7_'>
             <parameter type-id='type-id-2026' name='__a' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1'/>
             <parameter type-id='type-id-2072' name='__p' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1'/>
             <return type-id='type-id-57'/>
@@ -4536,7 +4536,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_destroy&lt;std::basic_string&lt;char&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IJNS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_'>
+          <function-decl name='_S_destroy&lt;std::basic_string&lt;char&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISsEE10_S_destroyISsEENSt9enable_ifIXsrSt6__and_IINS1_16__destroy_helperIT_E4typeEEE5valueEvE4typeERS0_PS6_'>
             <parameter type-id='type-id-2026' name='__a' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1'/>
             <parameter type-id='type-id-2072' name='__p' filepath='/usr/include/c++/4.9/bits/alloc_traits.h' line='397' column='1'/>
             <return type-id='type-id-57'/>
@@ -4722,7 +4722,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='map' mangled-name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2Ev'>
             <parameter type-id='type-id-2132' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -4776,7 +4776,7 @@
               </function-decl>
             </member-function>
             <member-function access='public'>
-              <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC1Ev'>
+              <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev'>
                 <parameter type-id='type-id-1816' is-artificial='yes'/>
                 <return type-id='type-id-57'/>
               </function-decl>
@@ -4901,14 +4901,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EED2Ev'>
             <parameter type-id='type-id-1809' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EEC2Ev'>
             <parameter type-id='type-id-1809' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -5003,14 +5003,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev'>
             <parameter type-id='type-id-2022' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev'>
             <parameter type-id='type-id-2022' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -5250,7 +5250,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC1EPSt13_Rb_tree_nodeIS2_E'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E' filepath='/usr/include/c++/4.9/bits/stl_tree.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKSsSsEEC2EPSt13_Rb_tree_nodeIS2_E'>
             <parameter type-id='type-id-1819' is-artificial='yes'/>
             <parameter type-id='type-id-2510'/>
             <return type-id='type-id-57'/>
@@ -5475,7 +5475,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~vector' mangled-name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev'>
+          <function-decl name='~vector' mangled-name='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev'>
             <parameter type-id='type-id-2266' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -5587,7 +5587,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED1Ev'>
+          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev' filepath='/usr/include/c++/4.9/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseISt10shared_ptrIN5mongo17optionenvironment10ConstraintEESaIS4_EED2Ev'>
             <parameter type-id='type-id-1914' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -5647,7 +5647,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev' filepath='/usr/include/c++/4.9/bits/allocator.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10shared_ptrIN5mongo17optionenvironment10ConstraintEEED2Ev'>
             <parameter type-id='type-id-2037' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -5728,7 +5728,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__shared_ptr' mangled-name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='914' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED1Ev'>
+          <function-decl name='~__shared_ptr' mangled-name='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='914' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__shared_ptrIN5mongo17optionenvironment10ConstraintELN9__gnu_cxx12_Lock_policyE2EED2Ev'>
             <parameter type-id='type-id-1997' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -7256,7 +7256,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev'>
+          <function-decl name='~__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/include/c++/4.9/bits/shared_ptr_base.h' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev'>
             <parameter type-id='type-id-1994' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -8548,7 +8548,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' filepath='/usr/include/c++/4.9/bits/unique_ptr.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED1Ev'>
+          <function-decl name='~unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' filepath='/usr/include/c++/4.9/bits/unique_ptr.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev'>
             <parameter type-id='type-id-2217' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -8627,7 +8627,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' filepath='/usr/include/c++/4.9/tuple' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_'>
+          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_' filepath='/usr/include/c++/4.9/tuple' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEE7_M_headERS5_'>
             <parameter type-id='type-id-1838' name='__t' filepath='/usr/include/c++/4.9/tuple' line='241' column='1'/>
             <return type-id='type-id-1574'/>
           </function-decl>
@@ -8848,7 +8848,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' filepath='/usr/include/c++/4.9/tuple' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_'>
+          <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_' filepath='/usr/include/c++/4.9/tuple' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt14default_deleteIS4_EEE7_M_headERKS8_'>
             <parameter type-id='type-id-892' name='__t' filepath='/usr/include/c++/4.9/tuple' line='244' column='1'/>
             <return type-id='type-id-2066'/>
           </function-decl>
@@ -9064,7 +9064,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='move_iterator' mangled-name='_ZNSt13move_iteratorIPSsEC2ES0_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13move_iteratorIPSsEC1ES0_'>
+          <function-decl name='move_iterator' mangled-name='_ZNSt13move_iteratorIPSsEC2ES0_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13move_iteratorIPSsEC2ES0_'>
             <parameter type-id='type-id-2139' is-artificial='yes'/>
             <parameter type-id='type-id-2842'/>
             <return type-id='type-id-57'/>
@@ -9278,13 +9278,13 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='_Function_base' mangled-name='_ZNSt14_Function_baseC2Ev' filepath='/usr/include/c++/4.9/functional' line='1993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseC1Ev'>
+          <function-decl name='_Function_base' mangled-name='_ZNSt14_Function_baseC2Ev' filepath='/usr/include/c++/4.9/functional' line='1993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseC2Ev'>
             <parameter type-id='type-id-1730' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Function_base' mangled-name='_ZNSt14_Function_baseD2Ev' filepath='/usr/include/c++/4.9/functional' line='1995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseD1Ev'>
+          <function-decl name='~_Function_base' mangled-name='_ZNSt14_Function_baseD2Ev' filepath='/usr/include/c++/4.9/functional' line='1995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_Function_baseD2Ev'>
             <parameter type-id='type-id-1730' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -9864,7 +9864,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='function&lt;mongo::Status (*)(mongo::InitializerContext*), void&gt;' mangled-name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' filepath='/usr/include/c++/4.9/functional' line='2418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC1IPS4_vEET_'>
+          <function-decl name='function&lt;mongo::Status (*)(mongo::InitializerContext*), void&gt;' mangled-name='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_' filepath='/usr/include/c++/4.9/functional' line='2418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8functionIFN5mongo6StatusEPNS0_18InitializerContextEEEC2IPS4_vEET_'>
             <parameter type-id='type-id-2098' is-artificial='yes'/>
             <parameter type-id='type-id-235'/>
             <return type-id='type-id-57'/>
@@ -10983,7 +10983,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='exception' mangled-name='_ZNSt9exceptionC2Ev' filepath='/usr/include/c++/4.9/exception' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionC1Ev'>
+          <function-decl name='exception' mangled-name='_ZNSt9exceptionC2Ev' filepath='/usr/include/c++/4.9/exception' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionC2Ev'>
             <parameter type-id='type-id-2095' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -11153,11 +11153,11 @@
         <parameter type-id='type-id-2071' name='__rhs' filepath='/usr/include/c++/4.9/bits/basic_string.h' line='2456' column='1'/>
         <return type-id='type-id-37'/>
       </function-decl>
-      <function-decl name='__get_helper&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='745' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEJSt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EJS6_DpT1_EE'>
+      <function-decl name='__get_helper&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='745' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPN5mongo14BSONObjBuilderEISt14default_deleteIS1_EEENSt9__add_refIT0_E4typeERSt11_Tuple_implIXT_EIS6_DpT1_EE'>
         <parameter type-id='type-id-1838' name='__t' filepath='/usr/include/c++/4.9/tuple' line='745' column='1'/>
         <return type-id='type-id-2323'/>
       </function-decl>
-      <function-decl name='get&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_'>
+      <function-decl name='get&lt;0ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_'>
         <parameter type-id='type-id-2206' name='__t' filepath='/usr/include/c++/4.9/tuple' line='758' column='1'/>
         <return type-id='type-id-2323'/>
       </function-decl>
@@ -11178,7 +11178,7 @@
         <parameter type-id='type-id-241' name='__t' filepath='/usr/include/c++/4.9/bits/move.h' line='101' column='1'/>
         <return type-id='type-id-2171'/>
       </function-decl>
-      <function-decl name='__get_helper&lt;0ul, std::basic_ostringstream&lt;char&gt;*, std::default_delete&lt;std::basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEJSt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS9_DpT1_EE'>
+      <function-decl name='__get_helper&lt;0ul, std::basic_ostringstream&lt;char&gt;*, std::default_delete&lt;std::basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' mangled-name='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE' filepath='/usr/include/c++/4.9/tuple' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt12__get_helperILm0EPSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEISt14default_deleteIS4_EEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EIS9_DpT1_EE'>
         <parameter type-id='type-id-892' name='__t' filepath='/usr/include/c++/4.9/tuple' line='750' column='1'/>
         <return type-id='type-id-2836'/>
       </function-decl>
@@ -11190,7 +11190,7 @@
         <parameter type-id='type-id-1851' name='__t' filepath='/usr/include/c++/4.9/tuple' line='745' column='1'/>
         <return type-id='type-id-2838'/>
       </function-decl>
-      <function-decl name='get&lt;1ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm1EJPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERSA_'>
+      <function-decl name='get&lt;1ul, mongo::BSONObjBuilder*, std::default_delete&lt;mongo::BSONObjBuilder&gt; &gt;' mangled-name='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_' filepath='/usr/include/c++/4.9/tuple' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm1EIPN5mongo14BSONObjBuilderESt14default_deleteIS1_EEENSt9__add_refINSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeEE4typeERSA_'>
         <parameter type-id='type-id-2206' name='__t' filepath='/usr/include/c++/4.9/tuple' line='758' column='1'/>
         <return type-id='type-id-2838'/>
       </function-decl>
@@ -11265,7 +11265,7 @@
         <parameter type-id='type-id-2072'/>
         <return type-id='type-id-57'/>
       </function-decl>
-      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsJRKSsEEvPT_DpOT0_'>
+      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsIRKSsEEvPT_DpOT0_'>
         <parameter type-id='type-id-2072'/>
         <return type-id='type-id-57'/>
       </function-decl>
@@ -11315,7 +11315,7 @@
         <parameter type-id='type-id-1331' name='__y' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='1067' column='1'/>
         <return type-id='type-id-1'/>
       </function-decl>
-      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsJSsEEvPT_DpOT0_'>
+      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZSt10_ConstructISsISsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsISsEEvPT_DpOT0_'>
         <parameter type-id='type-id-2072'/>
         <return type-id='type-id-57'/>
       </function-decl>
@@ -11424,7 +11424,7 @@
         <parameter type-id='type-id-2178' name='__t' filepath='/usr/include/c++/4.9/bits/move.h' line='76' column='1'/>
         <return type-id='type-id-2068'/>
       </function-decl>
-      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsJRSsEEvPT_DpOT0_'>
+      <function-decl name='_Construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;&gt;' mangled-name='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/bits/stl_construct.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt10_ConstructISsIRSsEEvPT_DpOT0_'>
         <parameter type-id='type-id-2072'/>
         <return type-id='type-id-57'/>
       </function-decl>
@@ -11460,7 +11460,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC2ERKS2_'>
             <parameter type-id='type-id-136' is-artificial='yes'/>
             <parameter type-id='type-id-1153'/>
             <return type-id='type-id-57'/>
@@ -11515,7 +11515,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_' filepath='/usr/include/c++/4.9/bits/stl_iterator.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC2ERKS1_'>
             <parameter type-id='type-id-140' is-artificial='yes'/>
             <parameter type-id='type-id-2074'/>
             <return type-id='type-id-57'/>
@@ -11727,7 +11727,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEED2Ev'>
             <parameter type-id='type-id-166' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -11749,7 +11749,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment13OptionSectionEEEC2Ev'>
             <parameter type-id='type-id-166' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -11829,7 +11829,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEED2Ev'>
             <parameter type-id='type-id-163' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -11851,7 +11851,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5mongo17optionenvironment17OptionDescriptionEEEC2Ev'>
             <parameter type-id='type-id-163' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -11894,21 +11894,21 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsED2Ev'>
             <parameter type-id='type-id-180' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC2ERKS1_'>
             <parameter type-id='type-id-180' is-artificial='yes'/>
             <parameter type-id='type-id-332'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISsEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsEC2Ev'>
             <parameter type-id='type-id-180' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -11922,7 +11922,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;std::basic_string&lt;char&gt;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISsE9constructISsISsEEEvPT_DpOT0_'>
             <parameter type-id='type-id-181' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2072' name='__p' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='119' column='1'/>
             <return type-id='type-id-57'/>
@@ -12063,14 +12063,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEED2Ev'>
             <parameter type-id='type-id-175' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev' filepath='/usr/include/c++/4.9/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsSsEEEC2Ev'>
             <parameter type-id='type-id-175' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -13032,13 +13032,13 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2Ev' filepath='src/mongo/base/string_data.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC1Ev'>
+          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2Ev' filepath='src/mongo/base/string_data.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC2Ev'>
             <parameter type-id='type-id-1640' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC1EPKc'>
+          <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC2EPKc'>
             <parameter type-id='type-id-1640' is-artificial='yes'/>
             <parameter type-id='type-id-85'/>
             <return type-id='type-id-57'/>
@@ -13144,7 +13144,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~Status' mangled-name='_ZN5mongo6StatusD2Ev' filepath='src/mongo/base/status.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusD1Ev'>
+          <function-decl name='~Status' mangled-name='_ZN5mongo6StatusD2Ev' filepath='src/mongo/base/status.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusD2Ev'>
             <parameter type-id='type-id-1632' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -13163,7 +13163,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2Ev' filepath='src/mongo/base/status.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusC1Ev'>
+          <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2Ev' filepath='src/mongo/base/status.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6StatusC2Ev'>
             <parameter type-id='type-id-1632' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -13417,7 +13417,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='SharedBuffer' mangled-name='_ZN5mongo12SharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12SharedBufferC1Ev'>
+          <function-decl name='SharedBuffer' mangled-name='_ZN5mongo12SharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12SharedBufferC2Ev'>
             <parameter type-id='type-id-1627' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -13471,7 +13471,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EPKc' filepath='src/mongo/bson/bsonobj.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo7BSONObjC1EPKc'>
+          <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EPKc' filepath='src/mongo/bson/bsonobj.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo7BSONObjC2EPKc'>
             <parameter type-id='type-id-1569' is-artificial='yes'/>
             <parameter type-id='type-id-85'/>
             <return type-id='type-id-57'/>
@@ -13550,7 +13550,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='StringBuilderImpl' mangled-name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' filepath='src/mongo/bson/util/builder.h' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC1Ev'>
+          <function-decl name='StringBuilderImpl' mangled-name='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev' filepath='src/mongo/bson/util/builder.h' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo17StringBuilderImplINS_16TrivialAllocatorEEC2Ev'>
             <parameter type-id='type-id-1638' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -13630,7 +13630,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' filepath='src/mongo/bson/util/builder.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED1Ev'>
+          <function-decl name='~_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev' filepath='src/mongo/bson/util/builder.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEED2Ev'>
             <parameter type-id='type-id-1646' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-57'/>
@@ -13645,7 +13645,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC1Ei'>
+          <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEEC2Ei'>
             <parameter type-id='type-id-1646' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-57'/>
@@ -14005,7 +14005,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='ConstDataView' mangled-name='_ZN5mongo13ConstDataViewC2EPKc' filepath='src/mongo/base/data_view.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ConstDataViewC1EPKc'>
+          <function-decl name='ConstDataView' mangled-name='_ZN5mongo13ConstDataViewC2EPKc' filepath='src/mongo/base/data_view.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ConstDataViewC2EPKc'>
             <parameter type-id='type-id-1588' is-artificial='yes'/>
             <parameter type-id='type-id-3182'/>
             <return type-id='type-id-57'/>
@@ -14058,7 +14058,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='LittleEndian' mangled-name='_ZN5mongo12LittleEndianIiEC2Ei' filepath='src/mongo/base/data_type_endian.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12LittleEndianIiEC1Ei'>
+          <function-decl name='LittleEndian' mangled-name='_ZN5mongo12LittleEndianIiEC2Ei' filepath='src/mongo/base/data_type_endian.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12LittleEndianIiEC2Ei'>
             <parameter type-id='type-id-1610' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-57'/>
@@ -14375,14 +14375,14 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2Ei' filepath='src/mongo/bson/bsonobjbuilder.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC1Ei'>
+          <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2Ei' filepath='src/mongo/bson/bsonobjbuilder.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC2Ei'>
             <parameter type-id='type-id-1571' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderD2Ev' filepath='src/mongo/bson/bsonobjbuilder.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderD1Ev'>
+          <function-decl name='~BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderD2Ev' filepath='src/mongo/bson/bsonobjbuilder.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderD2Ev'>
             <parameter type-id='type-id-1571' is-artificial='yes'/>
             <parameter type-id='type-id-29'/>
             <return type-id='type-id-57'/>
@@ -14702,7 +14702,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='ExceptionInfo' mangled-name='_ZN5mongo13ExceptionInfoC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ExceptionInfoC1ERKSsi'>
+          <function-decl name='ExceptionInfo' mangled-name='_ZN5mongo13ExceptionInfoC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo13ExceptionInfoC2ERKSsi'>
             <parameter type-id='type-id-1597' is-artificial='yes'/>
             <parameter type-id='type-id-1385'/>
             <parameter type-id='type-id-29'/>
@@ -14736,7 +14736,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='AssertionException' mangled-name='_ZN5mongo18AssertionExceptionC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionC1ERKSsi'>
+          <function-decl name='AssertionException' mangled-name='_ZN5mongo18AssertionExceptionC2ERKSsi' filepath='src/mongo/util/assert_util.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionC2ERKSsi'>
             <parameter type-id='type-id-1552' is-artificial='yes'/>
             <parameter type-id='type-id-1385'/>
             <parameter type-id='type-id-29'/>
@@ -14758,7 +14758,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~AssertionException' mangled-name='_ZN5mongo18AssertionExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionD1Ev'>
+          <function-decl name='~AssertionException' mangled-name='_ZN5mongo18AssertionExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo18AssertionExceptionD2Ev'>
             <parameter type-id='type-id-1552' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -14800,7 +14800,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='SASLGlobalParams' mangled-name='_ZN5mongo16SASLGlobalParamsC2Ev' filepath='src/mongo/db/auth/sasl_options.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo16SASLGlobalParamsC1Ev'>
+          <function-decl name='SASLGlobalParams' mangled-name='_ZN5mongo16SASLGlobalParamsC2Ev' filepath='src/mongo/db/auth/sasl_options.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo16SASLGlobalParamsC2Ev'>
             <parameter type-id='type-id-1619' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -14815,7 +14815,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' constructor='yes'>
-          <function-decl name='ExportedScramIterationCountParameter' mangled-name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' filepath='src/mongo/db/auth/sasl_options.cpp' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo36ExportedScramIterationCountParameterC1Ev'>
+          <function-decl name='ExportedScramIterationCountParameter' mangled-name='_ZN5mongo36ExportedScramIterationCountParameterC2Ev' filepath='src/mongo/db/auth/sasl_options.cpp' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo36ExportedScramIterationCountParameterC2Ev'>
             <parameter type-id='type-id-1599' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
@@ -14945,7 +14945,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC1EPNS_18ServerParameterSetERKSsPS3_bb'>
+          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEEC2EPNS_18ServerParameterSetERKSsPS3_bb'>
             <parameter type-id='type-id-1602' is-artificial='yes'/>
             <parameter type-id='type-id-1624'/>
             <parameter type-id='type-id-1385'/>
@@ -14970,7 +14970,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED1Ev'>
+          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISt6vectorISsSaISsEEED2Ev'>
             <parameter type-id='type-id-1602' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -15037,7 +15037,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsEC1EPNS_18ServerParameterSetERKSsPSsbb'>
+          <function-decl name='ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb' filepath='src/mongo/db/server_parameters.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsEC2EPNS_18ServerParameterSetERKSsPSsbb'>
             <parameter type-id='type-id-1601' is-artificial='yes'/>
             <parameter type-id='type-id-1624'/>
             <parameter type-id='type-id-1385'/>
@@ -15062,7 +15062,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsED1Ev'>
+          <function-decl name='~ExportedServerParameter' mangled-name='_ZN5mongo23ExportedServerParameterISsED2Ev' filepath='src/mongo/db/server_parameters.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23ExportedServerParameterISsED2Ev'>
             <parameter type-id='type-id-1601' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -16032,7 +16032,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~DBException' mangled-name='_ZN5mongo11DBExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DBExceptionD1Ev'>
+          <function-decl name='~DBException' mangled-name='_ZN5mongo11DBExceptionD2Ev' filepath='src/mongo/util/assert_util.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DBExceptionD2Ev'>
             <parameter type-id='type-id-1589' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
@@ -16161,13 +16161,13 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC1Ev'>
+          <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev'>
             <parameter type-id='type-id-206' is-artificial='yes'/>
             <return type-id='type-id-57'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED1Ev'>
+          <function-decl name='~intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' filepath='src/third_party/boost-1.56.0/boost/smart_ptr/intrusive_ptr.hpp' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev'>
             <parameter type-id='type-id-206' is-artificial='yes'/>
             <parameter type-id='type-id-29' is-artificial='yes'/>
             <return type-id='type-id-57'/>
diff --git a/tests/data/test-read-dwarf/test12-pr18844.so.abi b/tests/data/test-read-dwarf/test12-pr18844.so.abi
index 81dac4eed196..4422b76a7394 100644
--- a/tests/data/test-read-dwarf/test12-pr18844.so.abi
+++ b/tests/data/test-read-dwarf/test12-pr18844.so.abi
@@ -231,47 +231,47 @@
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5Event14_signal_inlockEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5Event17waitUntilSignaledEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5Event6signalEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor6cancelERKNS_8executor12TaskExecutor14CallbackHandleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor7getWorkEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor7onEventERKNS_8executor12TaskExecutor11EventHandleERKSt8functionIFvRKNS3_12CallbackArgsEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor7startupEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8Callback17waitForCompletionEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8Callback6cancelEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8WorkItemaSEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor8shutdownEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutor9makeEventEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ReplicationExecutorD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ReplicationExecutorD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner16_processResponseERKNS_8executor12TaskExecutor25RemoteCommandCallbackArgsEPS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner34_signalSufficientResponsesReceivedEPNS0_19ReplicationExecutorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner3runEPNS0_19ReplicationExecutorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner5startEPNS0_19ReplicationExecutorERKSt8functionIFvvEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunner6cancelEPNS0_19ReplicationExecutorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl19ScatterGatherRunnerD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Date_tC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Date_tpLINSt6chrono8durationIlSt5ratioILl1ELl1000EEEEEERS0_T_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN5mongo6Status2OKEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -19191,7 +19191,7 @@
                 <var-decl name='isNetworkOperation' type-id='type-id-1' visibility='default' filepath='src/mongo/db/repl/replication_executor.h' line='370' column='1'/>
               </data-member>
               <member-function access='public' constructor='yes'>
-                <function-decl name='WorkItem' mangled-name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' filepath='src/mongo/db/repl/replication_executor.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8WorkItemC1Ev'>
+                <function-decl name='WorkItem' mangled-name='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev' filepath='src/mongo/db/repl/replication_executor.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8WorkItemC2Ev'>
                   <parameter type-id='type-id-1689' is-artificial='yes'/>
                   <return type-id='type-id-60'/>
                 </function-decl>
@@ -19217,7 +19217,7 @@
                 <var-decl name='_waiters' type-id='type-id-1690' visibility='default' filepath='src/mongo/db/repl/replication_executor.h' line='401' column='1'/>
               </data-member>
               <member-function access='public' constructor='yes'>
-                <function-decl name='Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' filepath='src/mongo/db/repl/replication_executor.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventC1EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE'>
+                <function-decl name='Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE' filepath='src/mongo/db/repl/replication_executor.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventC2EPS1_RKSt14_List_iteratorINS_8executor12TaskExecutor11EventHandleEE'>
                   <parameter type-id='type-id-1686' is-artificial='yes'/>
                   <parameter type-id='type-id-1678'/>
                   <parameter type-id='type-id-1268'/>
@@ -19231,7 +19231,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public' destructor='yes' vtable-offset='0'>
-                <function-decl name='~Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventD1Ev'>
+                <function-decl name='~Event' mangled-name='_ZN5mongo4repl19ReplicationExecutor5EventD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor5EventD2Ev'>
                   <parameter type-id='type-id-1686' is-artificial='yes'/>
                   <return type-id='type-id-60'/>
                 </function-decl>
@@ -19281,7 +19281,7 @@
                 <var-decl name='_finishedEvent' type-id='type-id-423' visibility='default' filepath='src/mongo/db/repl/replication_executor.h' line='347' column='1'/>
               </data-member>
               <member-function access='public' constructor='yes'>
-                <function-decl name='Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' filepath='src/mongo/db/repl/replication_executor.h' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackC1EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE'>
+                <function-decl name='Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE' filepath='src/mongo/db/repl/replication_executor.h' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackC2EPS1_St8functionIFvRKNS_8executor12TaskExecutor12CallbackArgsEEERKSt14_List_iteratorINS1_8WorkItemEERKNS6_11EventHandleE'>
                   <parameter type-id='type-id-1684' is-artificial='yes'/>
                   <parameter type-id='type-id-1678'/>
                   <parameter type-id='type-id-417'/>
@@ -19291,7 +19291,7 @@
                 </function-decl>
               </member-function>
               <member-function access='public' destructor='yes' vtable-offset='0'>
-                <function-decl name='~Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackD1Ev'>
+                <function-decl name='~Callback' mangled-name='_ZN5mongo4repl19ReplicationExecutor8CallbackD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutor8CallbackD2Ev'>
                   <parameter type-id='type-id-1684' is-artificial='yes'/>
                   <return type-id='type-id-60'/>
                 </function-decl>
@@ -19378,7 +19378,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' filepath='src/mongo/db/repl/replication_executor.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorC1EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl'>
+            <function-decl name='ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl' filepath='src/mongo/db/repl/replication_executor.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorC2EPNS_8executor16NetworkInterfaceEPNS0_16StorageInterfaceEl'>
               <parameter type-id='type-id-1678' is-artificial='yes'/>
               <parameter type-id='type-id-1619'/>
               <parameter type-id='type-id-1694'/>
@@ -19511,7 +19511,7 @@
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='0'>
-            <function-decl name='~ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorD1Ev'>
+            <function-decl name='~ReplicationExecutor' mangled-name='_ZN5mongo4repl19ReplicationExecutorD0Ev' filepath='src/mongo/db/repl/replication_executor.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ReplicationExecutorD2Ev'>
               <parameter type-id='type-id-1678' is-artificial='yes'/>
               <return type-id='type-id-60'/>
             </function-decl>
@@ -23762,14 +23762,14 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE'>
+            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE'>
               <parameter type-id='type-id-3644' is-artificial='yes'/>
               <parameter type-id='type-id-3682'/>
               <return type-id='type-id-60'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
-            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD1Ev'>
+            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD2Ev'>
               <parameter type-id='type-id-3644' is-artificial='yes'/>
               <return type-id='type-id-60'/>
             </function-decl>
@@ -24442,7 +24442,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected' destructor='yes' vtable-offset='0'>
-            <function-decl name='~ScatterGatherAlgorithm' mangled-name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' filepath='src/mongo/db/repl/scatter_gather_algorithm.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev'>
+            <function-decl name='~ScatterGatherAlgorithm' mangled-name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' filepath='src/mongo/db/repl/scatter_gather_algorithm.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev'>
               <parameter type-id='type-id-3682' is-artificial='yes'/>
               <return type-id='type-id-60'/>
             </function-decl>
@@ -25563,7 +25563,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected' destructor='yes' vtable-offset='0'>
-            <function-decl name='~ScatterGatherAlgorithm' mangled-name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' filepath='src/mongo/db/repl/scatter_gather_algorithm.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl22ScatterGatherAlgorithmD1Ev'>
+            <function-decl name='~ScatterGatherAlgorithm' mangled-name='_ZN5mongo4repl22ScatterGatherAlgorithmD0Ev' filepath='src/mongo/db/repl/scatter_gather_algorithm.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl22ScatterGatherAlgorithmD2Ev'>
               <parameter type-id='type-id-3682' is-artificial='yes'/>
               <return type-id='type-id-60'/>
             </function-decl>
@@ -28277,14 +28277,14 @@
             </function-decl>
           </member-function>
           <member-function access='public' constructor='yes'>
-            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE'>
+            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE'>
               <parameter type-id='type-id-3644' is-artificial='yes'/>
               <parameter type-id='type-id-3682'/>
               <return type-id='type-id-60'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
-            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD1Ev'>
+            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD2Ev'>
               <parameter type-id='type-id-3644' is-artificial='yes'/>
               <return type-id='type-id-60'/>
             </function-decl>
diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi
index 34ff0fb859b8..d4bd4ad68236 100644
--- a/tests/data/test-read-dwarf/test15-pr18892.so.abi
+++ b/tests/data/test-read-dwarf/test15-pr18892.so.abi
@@ -101,72 +101,72 @@
     <elf-symbol name='__asan_java_demangle_v3' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__asan_java_demangle_v3_callback' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___cxa_atexit' is-defined='yes'/>
+    <elf-symbol name='__cxa_atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__cxa_guard_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__cxa_guard_acquire' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__cxa_guard_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__fxstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__fxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__interceptor___close' type='func-type' binding='global-binding' visibility='default-visibility' alias='__close' is-defined='yes'/>
-    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='__cxa_atexit' is-defined='yes'/>
     <elf-symbol name='__interceptor___fxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat' is-defined='yes'/>
     <elf-symbol name='__interceptor___fxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__fxstat64' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_fscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_scanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_sscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vfscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor___isoc99_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='__isoc99_vsscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor___libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_memalign' is-defined='yes'/>
-    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat' is-defined='yes'/>
+    <elf-symbol name='__interceptor___lxstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__lxstat64' is-defined='yes'/>
     <elf-symbol name='__interceptor___res_iclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='__res_iclose' is-defined='yes'/>
     <elf-symbol name='__interceptor___sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xpg_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xpg_strerror_r' is-defined='yes'/>
     <elf-symbol name='__interceptor___xstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat' is-defined='yes'/>
-    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor___xstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__xstat64' is-defined='yes'/>
+    <elf-symbol name='__interceptor__exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='_exit' is-defined='yes'/>
     <elf-symbol name='__interceptor__setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_abort' type='func-type' binding='global-binding' visibility='default-visibility' alias='abort' is-defined='yes'/>
     <elf-symbol name='__interceptor_accept' type='func-type' binding='global-binding' visibility='default-visibility' alias='accept' is-defined='yes'/>
     <elf-symbol name='__interceptor_accept4' type='func-type' binding='global-binding' visibility='default-visibility' alias='accept4' is-defined='yes'/>
     <elf-symbol name='__interceptor_asctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime' is-defined='yes'/>
-    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_asctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='asctime_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_atexit' type='func-type' binding='global-binding' visibility='default-visibility' alias='atexit' is-defined='yes'/>
     <elf-symbol name='__interceptor_backtrace' type='func-type' binding='global-binding' visibility='default-visibility' alias='backtrace' is-defined='yes'/>
     <elf-symbol name='__interceptor_backtrace_symbols' type='func-type' binding='global-binding' visibility='default-visibility' alias='backtrace_symbols' is-defined='yes'/>
-    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_bind' type='func-type' binding='global-binding' visibility='default-visibility' alias='bind' is-defined='yes'/>
+    <elf-symbol name='__interceptor_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc' is-defined='yes'/>
+    <elf-symbol name='__interceptor_canonicalize_file_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='canonicalize_file_name' is-defined='yes'/>
+    <elf-symbol name='__interceptor_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='cfree' is-defined='yes'/>
     <elf-symbol name='__interceptor_clock_getres' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_getres' is-defined='yes'/>
-    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_gettime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_gettime' is-defined='yes'/>
+    <elf-symbol name='__interceptor_clock_settime' type='func-type' binding='global-binding' visibility='default-visibility' alias='clock_settime' is-defined='yes'/>
+    <elf-symbol name='__interceptor_close' type='func-type' binding='global-binding' visibility='default-visibility' alias='close' is-defined='yes'/>
+    <elf-symbol name='__interceptor_confstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='confstr' is-defined='yes'/>
+    <elf-symbol name='__interceptor_connect' type='func-type' binding='global-binding' visibility='default-visibility' alias='connect' is-defined='yes'/>
     <elf-symbol name='__interceptor_creat' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat' is-defined='yes'/>
     <elf-symbol name='__interceptor_creat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='creat64' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ctime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ctime_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_dlclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlclose' is-defined='yes'/>
     <elf-symbol name='__interceptor_dlopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='dlopen' is-defined='yes'/>
-    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_drand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='drand48_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup' is-defined='yes'/>
+    <elf-symbol name='__interceptor_dup2' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup2' is-defined='yes'/>
     <elf-symbol name='__interceptor_dup3' type='func-type' binding='global-binding' visibility='default-visibility' alias='dup3' is-defined='yes'/>
     <elf-symbol name='__interceptor_epoll_create' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create' is-defined='yes'/>
-    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_create1' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_create1' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_ctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_ctl' is-defined='yes'/>
+    <elf-symbol name='__interceptor_epoll_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='epoll_wait' is-defined='yes'/>
     <elf-symbol name='__interceptor_ether_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_aton_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_aton_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_hostton' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_hostton' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_line' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_line' is-defined='yes'/>
     <elf-symbol name='__interceptor_ether_ntoa' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntoa_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntoa_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ether_ntohost' type='func-type' binding='global-binding' visibility='default-visibility' alias='ether_ntohost' is-defined='yes'/>
+    <elf-symbol name='__interceptor_eventfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='eventfd' is-defined='yes'/>
     <elf-symbol name='__interceptor_fclose' type='func-type' binding='global-binding' visibility='default-visibility' alias='fclose' is-defined='yes'/>
     <elf-symbol name='__interceptor_fflush' type='func-type' binding='global-binding' visibility='default-visibility' alias='fflush' is-defined='yes'/>
     <elf-symbol name='__interceptor_fopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='fopen' is-defined='yes'/>
@@ -175,209 +175,209 @@
     <elf-symbol name='__interceptor_free' type='func-type' binding='global-binding' visibility='default-visibility' alias='free' is-defined='yes'/>
     <elf-symbol name='__interceptor_freopen' type='func-type' binding='global-binding' visibility='default-visibility' alias='freopen' is-defined='yes'/>
     <elf-symbol name='__interceptor_frexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_frexpf' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpf' is-defined='yes'/>
     <elf-symbol name='__interceptor_frexpl' type='func-type' binding='global-binding' visibility='default-visibility' alias='frexpl' is-defined='yes'/>
     <elf-symbol name='__interceptor_fscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='fscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstat' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstat64' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstatfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatfs64' is-defined='yes'/>
     <elf-symbol name='__interceptor_fstatvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fstatvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='fstatvfs64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_fwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='fwrite' is-defined='yes'/>
+    <elf-symbol name='__interceptor_get_current_dir_name' type='func-type' binding='global-binding' visibility='default-visibility' alias='get_current_dir_name' is-defined='yes'/>
     <elf-symbol name='__interceptor_getaddrinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='getaddrinfo' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getcwd' type='func-type' binding='global-binding' visibility='default-visibility' alias='getcwd' is-defined='yes'/>
     <elf-symbol name='__interceptor_getdelim' type='func-type' binding='global-binding' visibility='default-visibility' alias='getdelim' is-defined='yes'/>
     <elf-symbol name='__interceptor_getgroups' type='func-type' binding='global-binding' visibility='default-visibility' alias='getgroups' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostbyaddr' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyaddr_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyaddr_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostbyname2' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostbyname2_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname2_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gethostbyname_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostbyname_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostent' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent' is-defined='yes'/>
     <elf-symbol name='__interceptor_gethostent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gethostent_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getitimer' type='func-type' binding='global-binding' visibility='default-visibility' alias='getitimer' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getline' type='func-type' binding='global-binding' visibility='default-visibility' alias='getline' is-defined='yes'/>
     <elf-symbol name='__interceptor_getmntent' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getmntent_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='getmntent_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_getpeername' type='func-type' binding='global-binding' visibility='default-visibility' alias='getpeername' is-defined='yes'/>
     <elf-symbol name='__interceptor_getsockname' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockname' is-defined='yes'/>
     <elf-symbol name='__interceptor_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' alias='getsockopt' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' alias='gettimeofday' is-defined='yes'/>
+    <elf-symbol name='__interceptor_gmtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime' is-defined='yes'/>
     <elf-symbol name='__interceptor_gmtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='gmtime_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_iconv' type='func-type' binding='global-binding' visibility='default-visibility' alias='iconv' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inet_aton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_aton' is-defined='yes'/>
     <elf-symbol name='__interceptor_inet_ntop' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_ntop' is-defined='yes'/>
     <elf-symbol name='__interceptor_inet_pton' type='func-type' binding='global-binding' visibility='default-visibility' alias='inet_pton' is-defined='yes'/>
-    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_initgroups' type='func-type' binding='global-binding' visibility='default-visibility' alias='initgroups' is-defined='yes'/>
     <elf-symbol name='__interceptor_inotify_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init' is-defined='yes'/>
-    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' alias='inotify_init1' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='ioctl' is-defined='yes'/>
     <elf-symbol name='__interceptor_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='kill' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgamma_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgamma_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_lgammaf' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf' is-defined='yes'/>
     <elf-symbol name='__interceptor_lgammaf_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammaf_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lgammal' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal' is-defined='yes'/>
     <elf-symbol name='__interceptor_lgammal_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lgammal_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_listen' type='func-type' binding='global-binding' visibility='default-visibility' alias='listen' is-defined='yes'/>
     <elf-symbol name='__interceptor_localtime' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime' is-defined='yes'/>
-    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_localtime_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='localtime_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_longjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='longjmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_lrand48_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='lrand48_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_lstat' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat' is-defined='yes'/>
-    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_lstat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='lstat64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc' is-defined='yes'/>
+    <elf-symbol name='__interceptor_malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsnrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsnrtowcs' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbsrtowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbsrtowcs' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mbstowcs' type='func-type' binding='global-binding' visibility='default-visibility' alias='mbstowcs' is-defined='yes'/>
     <elf-symbol name='__interceptor_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='memalign' is-defined='yes'/>
     <elf-symbol name='__interceptor_memchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='memchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_memcmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcmp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='memcpy' is-defined='yes'/>
+    <elf-symbol name='__interceptor_memmove' type='func-type' binding='global-binding' visibility='default-visibility' alias='memmove' is-defined='yes'/>
     <elf-symbol name='__interceptor_memrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='memrchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_memset' type='func-type' binding='global-binding' visibility='default-visibility' alias='memset' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlock' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='mlockall' is-defined='yes'/>
+    <elf-symbol name='__interceptor_mmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap' is-defined='yes'/>
     <elf-symbol name='__interceptor_mmap64' type='func-type' binding='global-binding' visibility='default-visibility' alias='mmap64' is-defined='yes'/>
     <elf-symbol name='__interceptor_modf' type='func-type' binding='global-binding' visibility='default-visibility' alias='modf' is-defined='yes'/>
-    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modff' type='func-type' binding='global-binding' visibility='default-visibility' alias='modff' is-defined='yes'/>
+    <elf-symbol name='__interceptor_modfl' type='func-type' binding='global-binding' visibility='default-visibility' alias='modfl' is-defined='yes'/>
+    <elf-symbol name='__interceptor_munlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_munlockall' type='func-type' binding='global-binding' visibility='default-visibility' alias='munlockall' is-defined='yes'/>
     <elf-symbol name='__interceptor_munmap' type='func-type' binding='global-binding' visibility='default-visibility' alias='munmap' is-defined='yes'/>
-    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_nanosleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='nanosleep' is-defined='yes'/>
     <elf-symbol name='__interceptor_on_exit' type='func-type' binding='global-binding' visibility='default-visibility' alias='on_exit' is-defined='yes'/>
-    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_open' type='func-type' binding='global-binding' visibility='default-visibility' alias='open' is-defined='yes'/>
     <elf-symbol name='__interceptor_open64' type='func-type' binding='global-binding' visibility='default-visibility' alias='open64' is-defined='yes'/>
     <elf-symbol name='__interceptor_opendir' type='func-type' binding='global-binding' visibility='default-visibility' alias='opendir' is-defined='yes'/>
     <elf-symbol name='__interceptor_pipe' type='func-type' binding='global-binding' visibility='default-visibility' alias='pipe' is-defined='yes'/>
     <elf-symbol name='__interceptor_pipe2' type='func-type' binding='global-binding' visibility='default-visibility' alias='pipe2' is-defined='yes'/>
-    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_poll' type='func-type' binding='global-binding' visibility='default-visibility' alias='poll' is-defined='yes'/>
     <elf-symbol name='__interceptor_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='posix_memalign' is-defined='yes'/>
-    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_ppoll' type='func-type' binding='global-binding' visibility='default-visibility' alias='ppoll' is-defined='yes'/>
+    <elf-symbol name='__interceptor_prctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='prctl' is-defined='yes'/>
     <elf-symbol name='__interceptor_pread' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread' is-defined='yes'/>
     <elf-symbol name='__interceptor_pread64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pread64' is-defined='yes'/>
-    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv' is-defined='yes'/>
+    <elf-symbol name='__interceptor_preadv64' type='func-type' binding='global-binding' visibility='default-visibility' alias='preadv64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getaffinity_np' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getaffinity_np' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getdetachstate' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getdetachstate' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getguardsize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getguardsize' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_attr_getinheritsched' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getinheritsched' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_attr_getschedparam' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedparam' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getschedpolicy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getschedpolicy' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getscope' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getscope' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_attr_getstack' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstack' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_attr_getstacksize' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_attr_getstacksize' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_barrier_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_destroy' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_barrier_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_init' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_barrier_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_barrier_wait' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_broadcast' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_broadcast' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_destroy' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_init' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_cond_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_signal' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_timedwait' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_cond_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_cond_wait' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_create' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_create' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_detach' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_detach' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_getschedparam' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_getschedparam' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_join' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_join' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_kill' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_kill' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_mutex_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_destroy' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_init' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_lock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_mutex_timedlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_timedlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_trylock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_mutex_unlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_once' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_destroy' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_init' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_rdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_rdlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_timedrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedrdlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_timedwrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_timedwrlock' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_tryrdlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_tryrdlock' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_rwlock_trywrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_trywrlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_unlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_rwlock_wrlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_rwlock_wrlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_setname_np' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_setname_np' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_spin_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_destroy' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_init' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pthread_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_lock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_spin_trylock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_trylock' is-defined='yes'/>
     <elf-symbol name='__interceptor_pthread_spin_unlock' type='func-type' binding='global-binding' visibility='default-visibility' alias='pthread_spin_unlock' is-defined='yes'/>
     <elf-symbol name='__interceptor_ptrace' type='func-type' binding='global-binding' visibility='default-visibility' alias='ptrace' is-defined='yes'/>
     <elf-symbol name='__interceptor_puts' type='func-type' binding='global-binding' visibility='default-visibility' alias='puts' is-defined='yes'/>
     <elf-symbol name='__interceptor_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwrite64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwrite64' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev' is-defined='yes'/>
+    <elf-symbol name='__interceptor_pwritev64' type='func-type' binding='global-binding' visibility='default-visibility' alias='pwritev64' is-defined='yes'/>
     <elf-symbol name='__interceptor_raise' type='func-type' binding='global-binding' visibility='default-visibility' alias='raise' is-defined='yes'/>
     <elf-symbol name='__interceptor_random_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='random_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_read' type='func-type' binding='global-binding' visibility='default-visibility' alias='read' is-defined='yes'/>
     <elf-symbol name='__interceptor_readdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir' is-defined='yes'/>
     <elf-symbol name='__interceptor_readdir64' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir64' is-defined='yes'/>
     <elf-symbol name='__interceptor_readdir64_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir64_r' is-defined='yes'/>
-    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readdir_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='readdir_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_readv' type='func-type' binding='global-binding' visibility='default-visibility' alias='readv' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='realloc' is-defined='yes'/>
+    <elf-symbol name='__interceptor_realpath' type='func-type' binding='global-binding' visibility='default-visibility' alias='realpath' is-defined='yes'/>
+    <elf-symbol name='__interceptor_recv' type='func-type' binding='global-binding' visibility='default-visibility' alias='recv' is-defined='yes'/>
     <elf-symbol name='__interceptor_recvmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='recvmsg' is-defined='yes'/>
-    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquo' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquo' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquof' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquof' is-defined='yes'/>
+    <elf-symbol name='__interceptor_remquol' type='func-type' binding='global-binding' visibility='default-visibility' alias='remquol' is-defined='yes'/>
+    <elf-symbol name='__interceptor_rmdir' type='func-type' binding='global-binding' visibility='default-visibility' alias='rmdir' is-defined='yes'/>
     <elf-symbol name='__interceptor_scandir' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir' is-defined='yes'/>
     <elf-symbol name='__interceptor_scandir64' type='func-type' binding='global-binding' visibility='default-visibility' alias='scandir64' is-defined='yes'/>
-    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_scanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='scanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sched_getaffinity' type='func-type' binding='global-binding' visibility='default-visibility' alias='sched_getaffinity' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_destroy' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_getvalue' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_getvalue' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_init' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_init' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_post' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_post' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sem_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_timedwait' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_trywait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_trywait' is-defined='yes'/>
     <elf-symbol name='__interceptor_sem_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sem_wait' is-defined='yes'/>
-    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_send' type='func-type' binding='global-binding' visibility='default-visibility' alias='send' is-defined='yes'/>
     <elf-symbol name='__interceptor_sendmsg' type='func-type' binding='global-binding' visibility='default-visibility' alias='sendmsg' is-defined='yes'/>
     <elf-symbol name='__interceptor_setitimer' type='func-type' binding='global-binding' visibility='default-visibility' alias='setitimer' is-defined='yes'/>
     <elf-symbol name='__interceptor_setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__interceptor_setlocale' type='func-type' binding='global-binding' visibility='default-visibility' alias='setlocale' is-defined='yes'/>
     <elf-symbol name='__interceptor_shmctl' type='func-type' binding='global-binding' visibility='default-visibility' alias='shmctl' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigaction' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigaction' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigemptyset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigemptyset' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigfillset' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigfillset' is-defined='yes'/>
     <elf-symbol name='__interceptor_siglongjmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='siglongjmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_signal' type='func-type' binding='global-binding' visibility='default-visibility' alias='signal' is-defined='yes'/>
-    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_signalfd' type='func-type' binding='global-binding' visibility='default-visibility' alias='signalfd' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigpending' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigpending' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigprocmask' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigprocmask' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigsuspend' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigsuspend' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigtimedwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigtimedwait' is-defined='yes'/>
     <elf-symbol name='__interceptor_sigwait' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwait' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sigwaitinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sigwaitinfo' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sincos' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincos' is-defined='yes'/>
     <elf-symbol name='__interceptor_sincosf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosf' is-defined='yes'/>
     <elf-symbol name='__interceptor_sincosl' type='func-type' binding='global-binding' visibility='default-visibility' alias='sincosl' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='sleep' is-defined='yes'/>
     <elf-symbol name='__interceptor_socket' type='func-type' binding='global-binding' visibility='default-visibility' alias='socket' is-defined='yes'/>
     <elf-symbol name='__interceptor_socketpair' type='func-type' binding='global-binding' visibility='default-visibility' alias='socketpair' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='sscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor_stat' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat' is-defined='yes'/>
     <elf-symbol name='__interceptor_stat64' type='func-type' binding='global-binding' visibility='default-visibility' alias='stat64' is-defined='yes'/>
     <elf-symbol name='__interceptor_statfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='statfs' is-defined='yes'/>
     <elf-symbol name='__interceptor_statfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='statfs64' is-defined='yes'/>
     <elf-symbol name='__interceptor_statvfs' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_statvfs64' type='func-type' binding='global-binding' visibility='default-visibility' alias='statvfs64' is-defined='yes'/>
     <elf-symbol name='__interceptor_strcasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strcasecmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_strchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_strchrnul' type='func-type' binding='global-binding' visibility='default-visibility' alias='strchrnul' is-defined='yes'/>
@@ -385,50 +385,50 @@
     <elf-symbol name='__interceptor_strcpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='strcpy' is-defined='yes'/>
     <elf-symbol name='__interceptor_strdup' type='func-type' binding='global-binding' visibility='default-visibility' alias='strdup' is-defined='yes'/>
     <elf-symbol name='__interceptor_strerror' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='strerror_r' is-defined='yes'/>
     <elf-symbol name='__interceptor_strlen' type='func-type' binding='global-binding' visibility='default-visibility' alias='strlen' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncasecmp' is-defined='yes'/>
     <elf-symbol name='__interceptor_strncmp' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncmp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strncpy' type='func-type' binding='global-binding' visibility='default-visibility' alias='strncpy' is-defined='yes'/>
     <elf-symbol name='__interceptor_strptime' type='func-type' binding='global-binding' visibility='default-visibility' alias='strptime' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strrchr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strrchr' is-defined='yes'/>
     <elf-symbol name='__interceptor_strstr' type='func-type' binding='global-binding' visibility='default-visibility' alias='strstr' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoimax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoimax' is-defined='yes'/>
+    <elf-symbol name='__interceptor_strtoumax' type='func-type' binding='global-binding' visibility='default-visibility' alias='strtoumax' is-defined='yes'/>
+    <elf-symbol name='__interceptor_sysinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='sysinfo' is-defined='yes'/>
     <elf-symbol name='__interceptor_tcgetattr' type='func-type' binding='global-binding' visibility='default-visibility' alias='tcgetattr' is-defined='yes'/>
-    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tempnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tempnam' is-defined='yes'/>
+    <elf-symbol name='__interceptor_textdomain' type='func-type' binding='global-binding' visibility='default-visibility' alias='textdomain' is-defined='yes'/>
+    <elf-symbol name='__interceptor_time' type='func-type' binding='global-binding' visibility='default-visibility' alias='time' is-defined='yes'/>
     <elf-symbol name='__interceptor_times' type='func-type' binding='global-binding' visibility='default-visibility' alias='times' is-defined='yes'/>
-    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam' is-defined='yes'/>
+    <elf-symbol name='__interceptor_tmpnam_r' type='func-type' binding='global-binding' visibility='default-visibility' alias='tmpnam_r' is-defined='yes'/>
+    <elf-symbol name='__interceptor_unlink' type='func-type' binding='global-binding' visibility='default-visibility' alias='unlink' is-defined='yes'/>
     <elf-symbol name='__interceptor_usleep' type='func-type' binding='global-binding' visibility='default-visibility' alias='usleep' is-defined='yes'/>
     <elf-symbol name='__interceptor_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc' is-defined='yes'/>
-    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vfscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vfscanf' is-defined='yes'/>
+    <elf-symbol name='__interceptor_vscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor_vsscanf' type='func-type' binding='global-binding' visibility='default-visibility' alias='vsscanf' is-defined='yes'/>
     <elf-symbol name='__interceptor_wait' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait' is-defined='yes'/>
-    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait3' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait3' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wait4' type='func-type' binding='global-binding' visibility='default-visibility' alias='wait4' is-defined='yes'/>
+    <elf-symbol name='__interceptor_waitid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitid' is-defined='yes'/>
     <elf-symbol name='__interceptor_waitpid' type='func-type' binding='global-binding' visibility='default-visibility' alias='waitpid' is-defined='yes'/>
     <elf-symbol name='__interceptor_wcsnrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsnrtombs' is-defined='yes'/>
-    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_wcsrtombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcsrtombs' is-defined='yes'/>
     <elf-symbol name='__interceptor_wcstombs' type='func-type' binding='global-binding' visibility='default-visibility' alias='wcstombs' is-defined='yes'/>
     <elf-symbol name='__interceptor_wordexp' type='func-type' binding='global-binding' visibility='default-visibility' alias='wordexp' is-defined='yes'/>
-    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__interceptor_write' type='func-type' binding='global-binding' visibility='default-visibility' alias='write' is-defined='yes'/>
     <elf-symbol name='__interceptor_writev' type='func-type' binding='global-binding' visibility='default-visibility' alias='writev' is-defined='yes'/>
-    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_fscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_scanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_sscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vfscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vscanf' is-defined='yes'/>
-    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___isoc99_vsscanf' is-defined='yes'/>
+    <elf-symbol name='__isoc99_fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__isoc99_vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat' is-defined='yes'/>
-    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___lxstat64' is-defined='yes'/>
+    <elf-symbol name='__lxstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__lxstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__res_iclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_cov' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_cov_dump' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1116,9 +1116,9 @@
     <elf-symbol name='__sanitizer_unaligned_load16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_unaligned_load32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_unaligned_load64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write2' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sanitizer_unaligned_store32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' alias='__tsan_unaligned_write8' is-defined='yes'/>
+    <elf-symbol name='__sanitizer_unaligned_store64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_acquire' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_atomic128_compare_exchange_strong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1208,9 +1208,9 @@
     <elf-symbol name='__tsan_unaligned_read2' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load16' is-defined='yes'/>
     <elf-symbol name='__tsan_unaligned_read4' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load32' is-defined='yes'/>
     <elf-symbol name='__tsan_unaligned_read8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_load64' is-defined='yes'/>
-    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write2' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store16' is-defined='yes'/>
     <elf-symbol name='__tsan_unaligned_write4' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store32' is-defined='yes'/>
-    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__tsan_unaligned_write8' type='func-type' binding='global-binding' visibility='default-visibility' alias='__sanitizer_unaligned_store64' is-defined='yes'/>
     <elf-symbol name='__tsan_vptr_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_vptr_update' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_write1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1219,53 +1219,53 @@
     <elf-symbol name='__tsan_write4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_write8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__tsan_write_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xpg_strerror_r' is-defined='yes'/>
+    <elf-symbol name='__xpg_strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__xstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor___xstat64' is-defined='yes'/>
-    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor__exit' is-defined='yes'/>
+    <elf-symbol name='__xstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_abort' is-defined='yes'/>
+    <elf-symbol name='abort' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='accept' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='accept4' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='asctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_asctime_r' is-defined='yes'/>
+    <elf-symbol name='asctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='atexit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='backtrace' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='backtrace_symbols' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_bind' is-defined='yes'/>
-    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_calloc' is-defined='yes'/>
-    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_canonicalize_file_name' is-defined='yes'/>
-    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_cfree' is-defined='yes'/>
+    <elf-symbol name='bind' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='calloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='canonicalize_file_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='clock_getres' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_gettime' is-defined='yes'/>
-    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_clock_settime' is-defined='yes'/>
-    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_close' is-defined='yes'/>
-    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_confstr' is-defined='yes'/>
-    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_connect' is-defined='yes'/>
+    <elf-symbol name='clock_gettime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='clock_settime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='close' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='confstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='connect' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='creat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='creat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime' is-defined='yes'/>
-    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ctime_r' is-defined='yes'/>
+    <elf-symbol name='ctime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ctime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='dlclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='dlopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_drand48_r' is-defined='yes'/>
-    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup' is-defined='yes'/>
-    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_dup2' is-defined='yes'/>
+    <elf-symbol name='drand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dup' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dup2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='dup3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='epoll_create' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_create1' is-defined='yes'/>
-    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_ctl' is-defined='yes'/>
-    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_epoll_wait' is-defined='yes'/>
+    <elf-symbol name='epoll_create1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='epoll_ctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='epoll_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='ether_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_aton_r' is-defined='yes'/>
-    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_hostton' is-defined='yes'/>
-    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_line' is-defined='yes'/>
+    <elf-symbol name='ether_aton_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ether_hostton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ether_line' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='ether_ntoa' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntoa_r' is-defined='yes'/>
-    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ether_ntohost' is-defined='yes'/>
-    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_eventfd' is-defined='yes'/>
+    <elf-symbol name='ether_ntoa_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ether_ntohost' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='eventfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fclose' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fflush' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1274,209 +1274,209 @@
     <elf-symbol name='free' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='freopen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='frexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_frexpf' is-defined='yes'/>
+    <elf-symbol name='frexpf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='frexpl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstatfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatfs64' is-defined='yes'/>
+    <elf-symbol name='fstatfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='fstatvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fstatvfs64' is-defined='yes'/>
-    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_fwrite' is-defined='yes'/>
-    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_get_current_dir_name' is-defined='yes'/>
+    <elf-symbol name='fstatvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='get_current_dir_name' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getaddrinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getcwd' is-defined='yes'/>
+    <elf-symbol name='getcwd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getdelim' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getgroups' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostbyaddr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyaddr_r' is-defined='yes'/>
-    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname' is-defined='yes'/>
+    <elf-symbol name='gethostbyaddr_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='gethostbyname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostbyname2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostbyname2_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gethostbyname_r' is-defined='yes'/>
+    <elf-symbol name='gethostbyname_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gethostent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getitimer' is-defined='yes'/>
-    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getline' is-defined='yes'/>
+    <elf-symbol name='getitimer' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='getline' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getmntent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getmntent_r' is-defined='yes'/>
-    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_getpeername' is-defined='yes'/>
+    <elf-symbol name='getmntent_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='getpeername' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getsockname' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='getsockopt' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gettimeofday' is-defined='yes'/>
-    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_gmtime' is-defined='yes'/>
+    <elf-symbol name='gettimeofday' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='gmtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gmtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_iconv' is-defined='yes'/>
-    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inet_aton' is-defined='yes'/>
+    <elf-symbol name='iconv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='inet_aton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='inet_ntop' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='inet_pton' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_initgroups' is-defined='yes'/>
+    <elf-symbol name='initgroups' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='inotify_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_inotify_init1' is-defined='yes'/>
-    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ioctl' is-defined='yes'/>
+    <elf-symbol name='inotify_init1' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ioctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma' is-defined='yes'/>
-    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgamma_r' is-defined='yes'/>
+    <elf-symbol name='lgamma' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lgamma_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lgammaf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lgammaf_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lgammal' is-defined='yes'/>
+    <elf-symbol name='lgammal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lgammal_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='listen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='localtime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_localtime_r' is-defined='yes'/>
-    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_longjmp' is-defined='yes'/>
+    <elf-symbol name='localtime_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='longjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lrand48_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='lstat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_lstat64' is-defined='yes'/>
-    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc' is-defined='yes'/>
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_malloc_usable_size' is-defined='yes'/>
-    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsnrtowcs' is-defined='yes'/>
-    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbsrtowcs' is-defined='yes'/>
-    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mbstowcs' is-defined='yes'/>
+    <elf-symbol name='lstat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mbsnrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mbsrtowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mbstowcs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memcmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memcpy' is-defined='yes'/>
-    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_memmove' is-defined='yes'/>
+    <elf-symbol name='memcpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='memmove' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlock' is-defined='yes'/>
-    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mlockall' is-defined='yes'/>
-    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_mmap' is-defined='yes'/>
+    <elf-symbol name='mlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mmap64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='modf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modff' is-defined='yes'/>
-    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_modfl' is-defined='yes'/>
-    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_munlock' is-defined='yes'/>
+    <elf-symbol name='modff' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='modfl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='munlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='munlockall' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='munmap' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_nanosleep' is-defined='yes'/>
+    <elf-symbol name='nanosleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='on_exit' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_open' is-defined='yes'/>
+    <elf-symbol name='open' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='open64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='opendir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pipe' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pipe2' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_poll' is-defined='yes'/>
+    <elf-symbol name='poll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='posix_memalign' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_ppoll' is-defined='yes'/>
-    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_prctl' is-defined='yes'/>
+    <elf-symbol name='ppoll' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='prctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pread' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pread64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv' is-defined='yes'/>
-    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_preadv64' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getaffinity_np' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getdetachstate' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getguardsize' is-defined='yes'/>
+    <elf-symbol name='preadv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='preadv64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getaffinity_np' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getdetachstate' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getguardsize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_attr_getinheritsched' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_attr_getschedparam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getschedpolicy' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getscope' is-defined='yes'/>
-    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_attr_getstack' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getschedpolicy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getscope' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_attr_getstack' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_attr_getstacksize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_barrier_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_barrier_init' is-defined='yes'/>
+    <elf-symbol name='pthread_barrier_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_barrier_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_broadcast' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_cond_signal' is-defined='yes'/>
+    <elf-symbol name='pthread_cond_signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_cond_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_create' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_detach' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_getschedparam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_join' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_kill' is-defined='yes'/>
+    <elf-symbol name='pthread_kill' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_mutex_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_init' is-defined='yes'/>
-    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_mutex_timedlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_mutex_trylock' is-defined='yes'/>
+    <elf-symbol name='pthread_mutex_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_mutex_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_once' is-defined='yes'/>
+    <elf-symbol name='pthread_once' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_rdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_timedrdlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_timedrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_timedwrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_tryrdlock' is-defined='yes'/>
-    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_rwlock_trywrlock' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_tryrdlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_rwlock_trywrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_rwlock_wrlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_setname_np' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_spin_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_init' is-defined='yes'/>
-    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pthread_spin_lock' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pthread_spin_lock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_spin_trylock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pthread_spin_unlock' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='ptrace' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='puts' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pvalloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite' is-defined='yes'/>
-    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwrite64' is-defined='yes'/>
-    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev' is-defined='yes'/>
-    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_pwritev64' is-defined='yes'/>
+    <elf-symbol name='pwrite' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pwrite64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pwritev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pwritev64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='raise' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='random_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_read' is-defined='yes'/>
+    <elf-symbol name='read' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='readdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='readdir64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='readdir64_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readdir_r' is-defined='yes'/>
-    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_readv' is-defined='yes'/>
-    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realloc' is-defined='yes'/>
-    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_realpath' is-defined='yes'/>
-    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_recv' is-defined='yes'/>
+    <elf-symbol name='readdir_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='readv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='realloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='realpath' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='recv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='recvmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquo' is-defined='yes'/>
-    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquof' is-defined='yes'/>
-    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_remquol' is-defined='yes'/>
-    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_rmdir' is-defined='yes'/>
+    <elf-symbol name='remquo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='remquof' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='remquol' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rmdir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='scandir' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='scandir64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_scanf' is-defined='yes'/>
-    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sched_getaffinity' is-defined='yes'/>
-    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_destroy' is-defined='yes'/>
+    <elf-symbol name='scanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sched_getaffinity' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sem_destroy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_getvalue' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_init' is-defined='yes'/>
+    <elf-symbol name='sem_init' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_post' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sem_timedwait' is-defined='yes'/>
+    <elf-symbol name='sem_timedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_trywait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sem_wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_send' is-defined='yes'/>
+    <elf-symbol name='send' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sendmsg' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='setitimer' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='setjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='setlocale' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='shmctl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigaction' is-defined='yes'/>
+    <elf-symbol name='sigaction' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigemptyset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigfillset' is-defined='yes'/>
+    <elf-symbol name='sigfillset' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='siglongjmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='signal' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_signalfd' is-defined='yes'/>
-    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigpending' is-defined='yes'/>
+    <elf-symbol name='signalfd' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sigpending' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigprocmask' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigsetjmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigsuspend' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigtimedwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sigwait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sigwaitinfo' is-defined='yes'/>
-    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sincos' is-defined='yes'/>
+    <elf-symbol name='sigwaitinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sincos' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sincosf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sincosl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sleep' is-defined='yes'/>
+    <elf-symbol name='sleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='socket' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='socketpair' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sscanf' is-defined='yes'/>
-    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_stat' is-defined='yes'/>
+    <elf-symbol name='sscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='stat' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='stat64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='statfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='statfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='statvfs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_statvfs64' is-defined='yes'/>
+    <elf-symbol name='statvfs64' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strcasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strchrnul' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1484,40 +1484,40 @@
     <elf-symbol name='strcpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strdup' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strerror' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strerror_r' is-defined='yes'/>
+    <elf-symbol name='strerror_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strlen' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncasecmp' is-defined='yes'/>
+    <elf-symbol name='strncasecmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strncmp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strncpy' is-defined='yes'/>
+    <elf-symbol name='strncpy' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strptime' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strrchr' is-defined='yes'/>
+    <elf-symbol name='strrchr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='strstr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoimax' is-defined='yes'/>
-    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_strtoumax' is-defined='yes'/>
-    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_sysinfo' is-defined='yes'/>
+    <elf-symbol name='strtoimax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='strtoumax' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sysinfo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='tcgetattr' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tempnam' is-defined='yes'/>
-    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_textdomain' is-defined='yes'/>
-    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_time' is-defined='yes'/>
+    <elf-symbol name='tempnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='textdomain' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='time' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='times' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam' is-defined='yes'/>
-    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_tmpnam_r' is-defined='yes'/>
-    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_unlink' is-defined='yes'/>
+    <elf-symbol name='tmpnam' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tmpnam_r' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='unlink' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='usleep' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='valloc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vfscanf' is-defined='yes'/>
-    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_vscanf' is-defined='yes'/>
+    <elf-symbol name='vfscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='vscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='vsscanf' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wait' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait3' is-defined='yes'/>
-    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wait4' is-defined='yes'/>
-    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_waitid' is-defined='yes'/>
+    <elf-symbol name='wait3' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='wait4' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='waitid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='waitpid' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wcsnrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_wcsrtombs' is-defined='yes'/>
+    <elf-symbol name='wcsrtombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wcstombs' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='wordexp' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' alias='__interceptor_write' is-defined='yes'/>
+    <elf-symbol name='write' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='writev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <elf-variable-symbols>
@@ -8444,17 +8444,17 @@
         <return type-id='type-id-33'/>
       </function-decl>
     </namespace-decl>
-    <function-decl name='__interceptor_mlock' mangled-name='mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlock'>
+    <function-decl name='__interceptor_mlock' mangled-name='__interceptor_mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlock'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <parameter type-id='type-id-106' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_munlock' mangled-name='munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='munlock'>
+    <function-decl name='__interceptor_munlock' mangled-name='__interceptor_munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_munlock'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <parameter type-id='type-id-106' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_mlockall' mangled-name='mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlockall'>
+    <function-decl name='__interceptor_mlockall' mangled-name='__interceptor_mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlockall'>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -11967,7 +11967,7 @@
       <parameter type-id='type-id-1' name='tms' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2896' column='1'/>
       <return type-id='type-id-1439'/>
     </function-decl>
-    <function-decl name='__interceptor_iconv' mangled-name='iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iconv'>
+    <function-decl name='__interceptor_iconv' mangled-name='__interceptor_iconv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_iconv'>
       <parameter type-id='type-id-1' name='cd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
       <parameter type-id='type-id-1227' name='inbuf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
       <parameter type-id='type-id-1137' name='inbytesleft' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2871' column='1'/>
@@ -11982,7 +11982,7 @@
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2851' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_getline' mangled-name='getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getline'>
+    <function-decl name='__interceptor_getline' mangled-name='__interceptor_getline' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getline'>
       <parameter type-id='type-id-1227' name='lineptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
       <parameter type-id='type-id-1137' name='n' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
@@ -11993,7 +11993,7 @@
       <parameter type-id='type-id-1376' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2825' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_drand48_r' mangled-name='drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drand48_r'>
+    <function-decl name='__interceptor_drand48_r' mangled-name='__interceptor_drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_drand48_r'>
       <parameter type-id='type-id-1' name='buffer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
       <parameter type-id='type-id-1266' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
       <return type-id='type-id-25'/>
@@ -12008,12 +12008,12 @@
       <parameter type-id='type-id-42' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <return type-id='type-id-588'/>
     </function-decl>
-    <function-decl name='__interceptor_lgamma_r' mangled-name='lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma_r'>
+    <function-decl name='__interceptor_lgamma_r' mangled-name='__interceptor_lgamma_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma_r'>
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <parameter type-id='type-id-42' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <return type-id='type-id-587'/>
     </function-decl>
-    <function-decl name='__interceptor_lgammal' mangled-name='lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgammal'>
+    <function-decl name='__interceptor_lgammal' mangled-name='__interceptor_lgammal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgammal'>
       <parameter type-id='type-id-592' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2772' column='1'/>
       <return type-id='type-id-592'/>
     </function-decl>
@@ -12021,23 +12021,23 @@
       <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2765' column='1'/>
       <return type-id='type-id-588'/>
     </function-decl>
-    <function-decl name='__interceptor_lgamma' mangled-name='lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lgamma'>
+    <function-decl name='__interceptor_lgamma' mangled-name='__interceptor_lgamma' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lgamma'>
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2758' column='1'/>
       <return type-id='type-id-587'/>
     </function-decl>
-    <function-decl name='__interceptor_remquol' mangled-name='remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquol'>
+    <function-decl name='__interceptor_remquol' mangled-name='__interceptor_remquol' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquol'>
       <parameter type-id='type-id-592' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <parameter type-id='type-id-592' name='y' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <parameter type-id='type-id-42' name='quo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2741' column='1'/>
       <return type-id='type-id-592'/>
     </function-decl>
-    <function-decl name='__interceptor_remquof' mangled-name='remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquof'>
+    <function-decl name='__interceptor_remquof' mangled-name='__interceptor_remquof' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquof'>
       <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <parameter type-id='type-id-588' name='y' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <parameter type-id='type-id-42' name='quo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2734' column='1'/>
       <return type-id='type-id-588'/>
     </function-decl>
-    <function-decl name='__interceptor_remquo' mangled-name='remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remquo'>
+    <function-decl name='__interceptor_remquo' mangled-name='__interceptor_remquo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_remquo'>
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
       <parameter type-id='type-id-587' name='y' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
       <parameter type-id='type-id-42' name='quo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2727' column='1'/>
@@ -12055,7 +12055,7 @@
       <parameter type-id='type-id-1271' name='cos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2704' column='1'/>
       <return type-id='type-id-4'/>
     </function-decl>
-    <function-decl name='__interceptor_sincos' mangled-name='sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sincos'>
+    <function-decl name='__interceptor_sincos' mangled-name='__interceptor_sincos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sincos'>
       <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
       <parameter type-id='type-id-1266' name='sin' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
       <parameter type-id='type-id-1266' name='cos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
@@ -12066,20 +12066,20 @@
       <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2685' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_tempnam' mangled-name='tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tempnam'>
+    <function-decl name='__interceptor_tempnam' mangled-name='__interceptor_tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tempnam'>
       <parameter type-id='type-id-27' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
       <parameter type-id='type-id-27' name='pfx' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_tmpnam_r' mangled-name='tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam_r'>
+    <function-decl name='__interceptor_tmpnam_r' mangled-name='__interceptor_tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam_r'>
       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_tmpnam' mangled-name='tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam'>
+    <function-decl name='__interceptor_tmpnam' mangled-name='__interceptor_tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam'>
       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getaffinity_np'>
+    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='__interceptor_pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getaffinity_np'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
       <parameter type-id='type-id-617' name='cpusetsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
       <parameter type-id='type-id-1' name='cpuset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
@@ -12090,7 +12090,7 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getstack'>
+    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='__interceptor_pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getstack'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
       <parameter type-id='type-id-312' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
       <parameter type-id='type-id-1137' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
@@ -12101,12 +12101,12 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getscope'>
+    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='__interceptor_pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getscope'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getschedpolicy'>
+    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='__interceptor_pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getschedpolicy'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
@@ -12116,12 +12116,12 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getguardsize'>
+    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='__interceptor_pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getguardsize'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getdetachstate'>
+    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='__interceptor_pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getdetachstate'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
@@ -12137,28 +12137,28 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2527' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_aton_r' mangled-name='ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_aton_r'>
+    <function-decl name='__interceptor_ether_aton_r' mangled-name='__interceptor_ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_aton_r'>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
       <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
       <return type-id='type-id-1169'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntoa_r'>
+    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='__interceptor_ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntoa_r'>
       <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_line' mangled-name='ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_line'>
+    <function-decl name='__interceptor_ether_line' mangled-name='__interceptor_ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_line'>
       <parameter type-id='type-id-27' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_hostton' mangled-name='ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_hostton'>
+    <function-decl name='__interceptor_ether_hostton' mangled-name='__interceptor_ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_hostton'>
       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ether_ntohost' mangled-name='ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntohost'>
+    <function-decl name='__interceptor_ether_ntohost' mangled-name='__interceptor_ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntohost'>
       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
       <return type-id='type-id-25'/>
@@ -12171,17 +12171,17 @@
       <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2444' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_initgroups' mangled-name='initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initgroups'>
+    <function-decl name='__interceptor_initgroups' mangled-name='__interceptor_initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_initgroups'>
       <parameter type-id='type-id-27' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
       <parameter type-id='type-id-284' name='group' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_fstatvfs64' mangled-name='fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatvfs64'>
+    <function-decl name='__interceptor_fstatvfs64' mangled-name='__interceptor_fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatvfs64'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_statvfs64' mangled-name='statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='statvfs64'>
+    <function-decl name='__interceptor_statvfs64' mangled-name='__interceptor_statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_statvfs64'>
       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <return type-id='type-id-25'/>
@@ -12196,7 +12196,7 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_fstatfs64' mangled-name='fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatfs64'>
+    <function-decl name='__interceptor_fstatfs64' mangled-name='__interceptor_fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatfs64'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <return type-id='type-id-25'/>
@@ -12216,7 +12216,7 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_getmntent_r' mangled-name='getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getmntent_r'>
+    <function-decl name='__interceptor_getmntent_r' mangled-name='__interceptor_getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getmntent_r'>
       <parameter type-id='type-id-1' name='fp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
       <parameter type-id='type-id-1188' name='mntbuf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
@@ -12231,7 +12231,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_cond_signal'>
+    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='__interceptor_pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_cond_signal'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -12249,11 +12249,11 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_lock'>
+    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='__interceptor_pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_lock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor__exit' mangled-name='_exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_exit'>
+    <function-decl name='__interceptor__exit' mangled-name='__interceptor__exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor__exit'>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-4'/>
     </function-decl>
@@ -12273,11 +12273,11 @@
       <parameter type-id='type-id-1197' name='oldset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2161' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sigpending' mangled-name='sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigpending'>
+    <function-decl name='__interceptor_sigpending' mangled-name='__interceptor_sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigpending'>
       <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sigfillset' mangled-name='sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigfillset'>
+    <function-decl name='__interceptor_sigfillset' mangled-name='__interceptor_sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigfillset'>
       <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -12291,7 +12291,7 @@
       <parameter type-id='type-id-1' name='timeout' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2109' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sigwaitinfo' mangled-name='sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigwaitinfo'>
+    <function-decl name='__interceptor_sigwaitinfo' mangled-name='__interceptor_sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigwaitinfo'>
       <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
       <parameter type-id='type-id-1' name='info' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
       <return type-id='type-id-25'/>
@@ -12307,14 +12307,14 @@
       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2058' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ppoll' mangled-name='ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ppoll'>
+    <function-decl name='__interceptor_ppoll' mangled-name='__interceptor_ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ppoll'>
       <parameter type-id='type-id-1196' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <parameter type-id='type-id-1440' name='nfds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <parameter type-id='type-id-1' name='timeout_ts' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <parameter type-id='type-id-1197' name='sigmask' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_poll' mangled-name='poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='poll'>
+    <function-decl name='__interceptor_poll' mangled-name='__interceptor_poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_poll'>
       <parameter type-id='type-id-1196' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
       <parameter type-id='type-id-1440' name='nfds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
       <parameter type-id='type-id-25' name='timeout' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
@@ -12339,13 +12339,13 @@
       <parameter type-id='type-id-627' name='compar' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1913' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xpg_strerror_r'>
+    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__interceptor___xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xpg_strerror_r'>
       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <parameter type-id='type-id-617' name='buflen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_strerror_r' mangled-name='strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strerror_r'>
+    <function-decl name='__interceptor_strerror_r' mangled-name='__interceptor_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strerror_r'>
       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
       <parameter type-id='type-id-617' name='buflen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
@@ -12355,19 +12355,19 @@
       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_sched_getaffinity' mangled-name='sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_getaffinity'>
+    <function-decl name='__interceptor_sched_getaffinity' mangled-name='__interceptor_sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sched_getaffinity'>
       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <parameter type-id='type-id-617' name='cpusetsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <parameter type-id='type-id-1' name='mask' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_confstr' mangled-name='confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='confstr'>
+    <function-decl name='__interceptor_confstr' mangled-name='__interceptor_confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_confstr'>
       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <parameter type-id='type-id-617' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
       <return type-id='type-id-617'/>
     </function-decl>
-    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='canonicalize_file_name'>
+    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='__interceptor_canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_canonicalize_file_name'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-27'/>
     </function-decl>
@@ -12384,7 +12384,7 @@
       <parameter type-id='type-id-1' name='ps' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1729' column='1'/>
       <return type-id='type-id-617'/>
     </function-decl>
-    <function-decl name='__interceptor_wcsrtombs' mangled-name='wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wcsrtombs'>
+    <function-decl name='__interceptor_wcsrtombs' mangled-name='__interceptor_wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wcsrtombs'>
       <parameter type-id='type-id-27' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
       <parameter type-id='type-id-1261' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
       <parameter type-id='type-id-617' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
@@ -12397,7 +12397,7 @@
       <parameter type-id='type-id-617' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1696' column='1'/>
       <return type-id='type-id-617'/>
     </function-decl>
-    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsnrtowcs'>
+    <function-decl name='__interceptor_mbsnrtowcs' mangled-name='__interceptor_mbsnrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsnrtowcs'>
       <parameter type-id='type-id-1434' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <parameter type-id='type-id-578' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <parameter type-id='type-id-617' name='nms' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
@@ -12405,36 +12405,36 @@
       <parameter type-id='type-id-1' name='ps' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1673' column='1'/>
       <return type-id='type-id-617'/>
     </function-decl>
-    <function-decl name='__interceptor_mbsrtowcs' mangled-name='mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbsrtowcs'>
+    <function-decl name='__interceptor_mbsrtowcs' mangled-name='__interceptor_mbsrtowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbsrtowcs'>
       <parameter type-id='type-id-1434' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <parameter type-id='type-id-578' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <parameter type-id='type-id-617' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <parameter type-id='type-id-1' name='ps' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1649' column='1'/>
       <return type-id='type-id-617'/>
     </function-decl>
-    <function-decl name='__interceptor_mbstowcs' mangled-name='mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbstowcs'>
+    <function-decl name='__interceptor_mbstowcs' mangled-name='__interceptor_mbstowcs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mbstowcs'>
       <parameter type-id='type-id-1434' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <parameter type-id='type-id-617' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1638' column='1'/>
       <return type-id='type-id-617'/>
     </function-decl>
-    <function-decl name='__interceptor_strtoumax' mangled-name='strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoumax'>
+    <function-decl name='__interceptor_strtoumax' mangled-name='__interceptor_strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoumax'>
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-1227' name='endptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-25' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <return type-id='type-id-629'/>
     </function-decl>
-    <function-decl name='__interceptor_strtoimax' mangled-name='strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoimax'>
+    <function-decl name='__interceptor_strtoimax' mangled-name='__interceptor_strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoimax'>
       <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-1227' name='endptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <parameter type-id='type-id-25' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
       <return type-id='type-id-629'/>
     </function-decl>
-    <function-decl name='__interceptor_get_current_dir_name' mangled-name='get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_current_dir_name'>
+    <function-decl name='__interceptor_get_current_dir_name' mangled-name='__interceptor_get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_get_current_dir_name'>
       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_getcwd' mangled-name='getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getcwd'>
+    <function-decl name='__interceptor_getcwd' mangled-name='__interceptor_getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getcwd'>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
       <parameter type-id='type-id-617' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
       <return type-id='type-id-27'/>
@@ -12461,7 +12461,7 @@
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1496' column='1'/>
       <return type-id='type-id-1164'/>
     </function-decl>
-    <function-decl name='__interceptor_readdir_r' mangled-name='readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readdir_r'>
+    <function-decl name='__interceptor_readdir_r' mangled-name='__interceptor_readdir_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readdir_r'>
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
       <parameter type-id='type-id-1159' name='entry' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
       <parameter type-id='type-id-1161' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1475' column='1'/>
@@ -12471,11 +12471,11 @@
       <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1467' column='1'/>
       <return type-id='type-id-1159'/>
     </function-decl>
-    <function-decl name='__interceptor_sysinfo' mangled-name='sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysinfo'>
+    <function-decl name='__interceptor_sysinfo' mangled-name='__interceptor_sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sysinfo'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_getpeername' mangled-name='getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getpeername'>
+    <function-decl name='__interceptor_getpeername' mangled-name='__interceptor_getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getpeername'>
       <parameter type-id='type-id-25' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
       <parameter type-id='type-id-219' name='addrlen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
@@ -12487,12 +12487,12 @@
       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1417' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_modfl' mangled-name='modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modfl'>
+    <function-decl name='__interceptor_modfl' mangled-name='__interceptor_modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modfl'>
       <parameter type-id='type-id-592' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1'/>
       <parameter type-id='type-id-1375' name='iptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1'/>
       <return type-id='type-id-592'/>
     </function-decl>
-    <function-decl name='__interceptor_modff' mangled-name='modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modff'>
+    <function-decl name='__interceptor_modff' mangled-name='__interceptor_modff' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_modff'>
       <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1'/>
       <parameter type-id='type-id-1271' name='iptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1'/>
       <return type-id='type-id-588'/>
@@ -12533,7 +12533,7 @@
       <parameter type-id='type-id-42' name='h_errnop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1279' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_gethostbyname_r' mangled-name='gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname_r'>
+    <function-decl name='__interceptor_gethostbyname_r' mangled-name='__interceptor_gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname_r'>
       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <parameter type-id='type-id-1173' name='ret' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
@@ -12542,7 +12542,7 @@
       <parameter type-id='type-id-42' name='h_errnop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyaddr_r'>
+    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='__interceptor_gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyaddr_r'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
       <parameter type-id='type-id-25' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
       <parameter type-id='type-id-25' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
@@ -12576,7 +12576,7 @@
       <parameter type-id='type-id-25' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1189' column='1'/>
       <return type-id='type-id-1173'/>
     </function-decl>
-    <function-decl name='__interceptor_gethostbyname' mangled-name='gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname'>
+    <function-decl name='__interceptor_gethostbyname' mangled-name='__interceptor_gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname'>
       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
       <return type-id='type-id-1173'/>
     </function-decl>
@@ -12592,7 +12592,7 @@
       <parameter type-id='type-id-42' name='param' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1070' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_inet_aton' mangled-name='inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_aton'>
+    <function-decl name='__interceptor_inet_aton' mangled-name='__interceptor_inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inet_aton'>
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-25'/>
@@ -12610,14 +12610,14 @@
       <parameter type-id='type-id-284' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1024' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_wait4' mangled-name='wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait4'>
+    <function-decl name='__interceptor_wait4' mangled-name='__interceptor_wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait4'>
       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <parameter type-id='type-id-42' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <parameter type-id='type-id-25' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <parameter type-id='type-id-1' name='rusage' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_wait3' mangled-name='wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait3'>
+    <function-decl name='__interceptor_wait3' mangled-name='__interceptor_wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait3'>
       <parameter type-id='type-id-42' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
       <parameter type-id='type-id-25' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
       <parameter type-id='type-id-1' name='rusage' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
@@ -12629,7 +12629,7 @@
       <parameter type-id='type-id-25' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='985' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_waitid' mangled-name='waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='waitid'>
+    <function-decl name='__interceptor_waitid' mangled-name='__interceptor_waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_waitid'>
       <parameter type-id='type-id-25' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
       <parameter type-id='type-id-25' name='id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
       <parameter type-id='type-id-1' name='infop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
@@ -12646,17 +12646,17 @@
       <parameter type-id='type-id-1' name='old_value' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='832' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_getitimer' mangled-name='getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getitimer'>
+    <function-decl name='__interceptor_getitimer' mangled-name='__interceptor_getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getitimer'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_clock_settime' mangled-name='clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_settime'>
+    <function-decl name='__interceptor_clock_settime' mangled-name='__interceptor_clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_settime'>
       <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_clock_gettime' mangled-name='clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_gettime'>
+    <function-decl name='__interceptor_clock_gettime' mangled-name='__interceptor_clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_gettime'>
       <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <return type-id='type-id-25'/>
@@ -12666,47 +12666,47 @@
       <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_ioctl' mangled-name='ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ioctl'>
+    <function-decl name='__interceptor_ioctl' mangled-name='__interceptor_ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ioctl'>
       <parameter type-id='type-id-25' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <parameter type-id='type-id-211' name='request' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <parameter type-id='type-id-1' name='arg' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vfscanf'>
+    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__interceptor___isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vfscanf'>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_fscanf'>
+    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__interceptor___isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_fscanf'>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vsscanf'>
+    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__interceptor___isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vsscanf'>
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_sscanf'>
+    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__interceptor___isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_sscanf'>
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vscanf'>
+    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__interceptor___isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vscanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_scanf'>
+    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__interceptor___isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_scanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_vfscanf' mangled-name='vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfscanf'>
+    <function-decl name='__interceptor_vfscanf' mangled-name='__interceptor_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vfscanf'>
       <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
       <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
@@ -12724,18 +12724,18 @@
       <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sscanf' mangled-name='sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
+    <function-decl name='__interceptor_sscanf' mangled-name='__interceptor_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sscanf'>
       <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_vscanf' mangled-name='vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vscanf'>
+    <function-decl name='__interceptor_vscanf' mangled-name='__interceptor_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vscanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_scanf' mangled-name='scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scanf'>
+    <function-decl name='__interceptor_scanf' mangled-name='__interceptor_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_scanf'>
       <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-25'/>
@@ -12746,7 +12746,7 @@
       <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='550' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_asctime_r' mangled-name='asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='asctime_r'>
+    <function-decl name='__interceptor_asctime_r' mangled-name='__interceptor_asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_asctime_r'>
       <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
       <parameter type-id='type-id-27' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
       <return type-id='type-id-27'/>
@@ -12755,12 +12755,12 @@
       <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='516' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_ctime_r' mangled-name='ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime_r'>
+    <function-decl name='__interceptor_ctime_r' mangled-name='__interceptor_ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime_r'>
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
       <parameter type-id='type-id-27' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_ctime' mangled-name='ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime'>
+    <function-decl name='__interceptor_ctime' mangled-name='__interceptor_ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime'>
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
@@ -12769,11 +12769,11 @@
       <parameter type-id='type-id-1' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <return type-id='type-id-1199'/>
     </function-decl>
-    <function-decl name='__interceptor_gmtime' mangled-name='gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gmtime'>
+    <function-decl name='__interceptor_gmtime' mangled-name='__interceptor_gmtime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gmtime'>
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1'/>
       <return type-id='type-id-1199'/>
     </function-decl>
-    <function-decl name='__interceptor_localtime_r' mangled-name='localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='localtime_r'>
+    <function-decl name='__interceptor_localtime_r' mangled-name='__interceptor_localtime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_localtime_r'>
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <parameter type-id='type-id-1' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
       <return type-id='type-id-1199'/>
@@ -12782,11 +12782,11 @@
       <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='476' column='1'/>
       <return type-id='type-id-1199'/>
     </function-decl>
-    <function-decl name='__interceptor_time' mangled-name='time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='time'>
+    <function-decl name='__interceptor_time' mangled-name='__interceptor_time' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_time'>
       <parameter type-id='type-id-183' name='t' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='432' column='1'/>
       <return type-id='type-id-33'/>
     </function-decl>
-    <function-decl name='__interceptor_prctl' mangled-name='prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prctl'>
+    <function-decl name='__interceptor_prctl' mangled-name='__interceptor_prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_prctl'>
       <parameter type-id='type-id-25' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <parameter type-id='type-id-33' name='arg2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <parameter type-id='type-id-33' name='arg3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
@@ -12794,14 +12794,14 @@
       <parameter type-id='type-id-33' name='arg5' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pwritev64' mangled-name='pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev64'>
+    <function-decl name='__interceptor_pwritev64' mangled-name='__interceptor_pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev64'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-631' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_pwritev' mangled-name='pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev'>
+    <function-decl name='__interceptor_pwritev' mangled-name='__interceptor_pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
@@ -12814,41 +12814,41 @@
       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_pwrite64' mangled-name='pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite64'>
+    <function-decl name='__interceptor_pwrite64' mangled-name='__interceptor_pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite64'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <parameter type-id='type-id-631' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <parameter type-id='type-id-631' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_pwrite' mangled-name='pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite'>
+    <function-decl name='__interceptor_pwrite' mangled-name='__interceptor_pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <parameter type-id='type-id-617' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <parameter type-id='type-id-632' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_write' mangled-name='write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='write'>
+    <function-decl name='__interceptor_write' mangled-name='__interceptor_write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_write'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-617' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_preadv64' mangled-name='preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv64'>
+    <function-decl name='__interceptor_preadv64' mangled-name='__interceptor_preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv64'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <parameter type-id='type-id-631' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_preadv' mangled-name='preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv'>
+    <function-decl name='__interceptor_preadv' mangled-name='__interceptor_preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <parameter type-id='type-id-632' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_readv' mangled-name='readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readv'>
+    <function-decl name='__interceptor_readv' mangled-name='__interceptor_readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readv'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
@@ -12868,7 +12868,7 @@
       <parameter type-id='type-id-632' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
       <return type-id='type-id-619'/>
     </function-decl>
-    <function-decl name='__interceptor_read' mangled-name='read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='read'>
+    <function-decl name='__interceptor_read' mangled-name='__interceptor_read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_read'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
       <parameter type-id='type-id-617' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
@@ -12879,7 +12879,7 @@
       <parameter type-id='type-id-42' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2802' column='1'/>
       <return type-id='type-id-592'/>
     </function-decl>
-    <function-decl name='__interceptor_frexpf' mangled-name='frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='frexpf'>
+    <function-decl name='__interceptor_frexpf' mangled-name='__interceptor_frexpf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_frexpf'>
       <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <parameter type-id='type-id-42' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
       <return type-id='type-id-588'/>
@@ -12889,7 +12889,7 @@
       <parameter type-id='type-id-42' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2788' column='1'/>
       <return type-id='type-id-587'/>
     </function-decl>
-    <function-decl name='__interceptor_strncasecmp' mangled-name='strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncasecmp'>
+    <function-decl name='__interceptor_strncasecmp' mangled-name='__interceptor_strncasecmp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncasecmp'>
       <parameter type-id='type-id-2' name='s1' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
       <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
       <parameter type-id='type-id-617' name='n' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
@@ -12911,7 +12911,7 @@
       <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='126' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_textdomain' mangled-name='textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='textdomain'>
+    <function-decl name='__interceptor_textdomain' mangled-name='__interceptor_textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_textdomain'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-27'/>
     </function-decl>
@@ -12926,12 +12926,12 @@
       <parameter type-id='type-id-1' name='rv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1765' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_gettimeofday' mangled-name='gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gettimeofday'>
+    <function-decl name='__interceptor_gettimeofday' mangled-name='__interceptor_gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gettimeofday'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_kill' mangled-name='pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_kill'>
+    <function-decl name='__interceptor_pthread_kill' mangled-name='__interceptor_pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_kill'>
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <return type-id='type-id-25'/>
@@ -12949,7 +12949,7 @@
       <parameter type-id='type-id-1241' name='mask' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1710' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sigaction' mangled-name='sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigaction'>
+    <function-decl name='__interceptor_sigaction' mangled-name='__interceptor_sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigaction'>
       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
       <parameter type-id='type-id-1381' name='act' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
       <parameter type-id='type-id-1381' name='old' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
@@ -12960,14 +12960,14 @@
       <parameter type-id='type-id-635' name='h' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1698' column='1'/>
       <return type-id='type-id-635'/>
     </function-decl>
-    <function-decl name='__interceptor_epoll_wait' mangled-name='epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_wait'>
+    <function-decl name='__interceptor_epoll_wait' mangled-name='__interceptor_epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_wait'>
       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <parameter type-id='type-id-1' name='ev' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <parameter type-id='type-id-25' name='cnt' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <parameter type-id='type-id-25' name='timeout' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_epoll_ctl' mangled-name='epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_ctl'>
+    <function-decl name='__interceptor_epoll_ctl' mangled-name='__interceptor_epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_ctl'>
       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
       <parameter type-id='type-id-25' name='op' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
@@ -12978,7 +12978,7 @@
       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1599' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_rmdir' mangled-name='rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdir'>
+    <function-decl name='__interceptor_rmdir' mangled-name='__interceptor_rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_rmdir'>
       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -12986,7 +12986,7 @@
       <parameter type-id='type-id-2' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1586' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_abort' mangled-name='abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='abort'>
+    <function-decl name='__interceptor_abort' mangled-name='__interceptor_abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_abort'>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-4'/>
     </function-decl>
@@ -12994,7 +12994,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_fwrite' mangled-name='fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwrite'>
+    <function-decl name='__interceptor_fwrite' mangled-name='__interceptor_fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fwrite'>
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
       <parameter type-id='type-id-106' name='size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
       <parameter type-id='type-id-106' name='nmemb' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
@@ -13023,11 +13023,11 @@
       <parameter type-id='type-id-27' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1512' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_unlink' mangled-name='unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unlink'>
+    <function-decl name='__interceptor_unlink' mangled-name='__interceptor_unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_unlink'>
       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_recv' mangled-name='recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='recv'>
+    <function-decl name='__interceptor_recv' mangled-name='__interceptor_recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_recv'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-638' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
@@ -13040,7 +13040,7 @@
       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1484' column='1'/>
       <return type-id='type-id-638'/>
     </function-decl>
-    <function-decl name='__interceptor_send' mangled-name='send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send'>
+    <function-decl name='__interceptor_send' mangled-name='__interceptor_send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_send'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
       <parameter type-id='type-id-638' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
@@ -13065,11 +13065,11 @@
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_close' mangled-name='close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='close'>
+    <function-decl name='__interceptor_close' mangled-name='__interceptor_close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_close'>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_epoll_create1' mangled-name='epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_create1'>
+    <function-decl name='__interceptor_epoll_create1' mangled-name='__interceptor_epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_create1'>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -13082,13 +13082,13 @@
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_bind' mangled-name='bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bind'>
+    <function-decl name='__interceptor_bind' mangled-name='__interceptor_bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_bind'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-211' name='addrlen' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_connect' mangled-name='connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='connect'>
+    <function-decl name='__interceptor_connect' mangled-name='__interceptor_connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_connect'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
       <parameter type-id='type-id-211' name='addrlen' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
@@ -13107,7 +13107,7 @@
       <parameter type-id='type-id-25' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_inotify_init1' mangled-name='inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inotify_init1'>
+    <function-decl name='__interceptor_inotify_init1' mangled-name='__interceptor_inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inotify_init1'>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -13115,13 +13115,13 @@
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_signalfd' mangled-name='signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='signalfd'>
+    <function-decl name='__interceptor_signalfd' mangled-name='__interceptor_signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_signalfd'>
       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <parameter type-id='type-id-1' name='mask' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_eventfd' mangled-name='eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eventfd'>
+    <function-decl name='__interceptor_eventfd' mangled-name='__interceptor_eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_eventfd'>
       <parameter type-id='type-id-211' name='initval' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
       <return type-id='type-id-25'/>
@@ -13132,12 +13132,12 @@
       <parameter type-id='type-id-25' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_dup2' mangled-name='dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup2'>
+    <function-decl name='__interceptor_dup2' mangled-name='__interceptor_dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup2'>
       <parameter type-id='type-id-25'/>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_dup' mangled-name='dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup'>
+    <function-decl name='__interceptor_dup' mangled-name='__interceptor_dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup'>
       <parameter type-id='type-id-25'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -13157,7 +13157,7 @@
       <parameter type-id='type-id-25' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_open' mangled-name='open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='open'>
+    <function-decl name='__interceptor_open' mangled-name='__interceptor_open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_open'>
       <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
       <parameter type-id='type-id-25' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
@@ -13185,12 +13185,12 @@
       <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2527' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_lstat64' mangled-name='lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lstat64'>
+    <function-decl name='__interceptor_lstat64' mangled-name='__interceptor_lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lstat64'>
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___lxstat64' mangled-name='__lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat64'>
+    <function-decl name='__interceptor___lxstat64' mangled-name='__interceptor___lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat64'>
       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
@@ -13201,7 +13201,7 @@
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___lxstat' mangled-name='__lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat'>
+    <function-decl name='__interceptor___lxstat' mangled-name='__interceptor___lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat'>
       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
@@ -13212,13 +13212,13 @@
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor___xstat64' mangled-name='__xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xstat64'>
+    <function-decl name='__interceptor___xstat64' mangled-name='__interceptor___xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xstat64'>
       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_stat' mangled-name='stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='stat'>
+    <function-decl name='__interceptor_stat' mangled-name='__interceptor_stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_stat'>
       <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
       <return type-id='type-id-25'/>
@@ -13238,7 +13238,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sem_timedwait' mangled-name='sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_timedwait'>
+    <function-decl name='__interceptor_sem_timedwait' mangled-name='__interceptor_sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_timedwait'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
@@ -13251,17 +13251,17 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sem_destroy' mangled-name='sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_destroy'>
+    <function-decl name='__interceptor_sem_destroy' mangled-name='__interceptor_sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_destroy'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sem_init' mangled-name='sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_init'>
+    <function-decl name='__interceptor_sem_init' mangled-name='__interceptor_sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_init'>
       <parameter type-id='type-id-1' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <parameter type-id='type-id-25' name='pshared' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <parameter type-id='type-id-211' name='value' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_once' mangled-name='pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_once'>
+    <function-decl name='__interceptor_pthread_once' mangled-name='__interceptor_pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_once'>
       <parameter type-id='type-id-1' name='o' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
       <parameter type-id='type-id-187' name='f' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
       <return type-id='type-id-25'/>
@@ -13274,7 +13274,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_barrier_init'>
+    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='__interceptor_pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_barrier_init'>
       <parameter type-id='type-id-1' name='b' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
       <parameter type-id='type-id-1' name='a' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
       <parameter type-id='type-id-211' name='count' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
@@ -13299,7 +13299,7 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_trywrlock'>
+    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='__interceptor_pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_trywrlock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -13307,12 +13307,12 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_timedrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='__interceptor_pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_timedrdlock'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_tryrdlock'>
+    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='__interceptor_pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_tryrdlock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -13337,7 +13337,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_lock'>
+    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='__interceptor_pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_lock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -13345,7 +13345,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_spin_init' mangled-name='pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_init'>
+    <function-decl name='__interceptor_pthread_spin_init' mangled-name='__interceptor_pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_init'>
       <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
       <return type-id='type-id-25'/>
@@ -13355,7 +13355,7 @@
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_trylock'>
+    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='__interceptor_pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_trylock'>
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
@@ -13363,7 +13363,7 @@
       <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_init'>
+    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='__interceptor_pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_init'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
@@ -13429,7 +13429,7 @@
       <parameter type-id='type-id-157' name='off' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='749' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_mmap' mangled-name='mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mmap'>
+    <function-decl name='__interceptor_mmap' mangled-name='__interceptor_mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mmap'>
       <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
       <parameter type-id='type-id-638' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
       <parameter type-id='type-id-25' name='prot' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
@@ -13447,7 +13447,7 @@
       <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='705' column='1'/>
       <return type-id='type-id-2'/>
     </function-decl>
-    <function-decl name='__interceptor_strncpy' mangled-name='strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
+    <function-decl name='__interceptor_strncpy' mangled-name='__interceptor_strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncpy'>
       <parameter type-id='type-id-27' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
       <parameter type-id='type-id-27' name='src' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
       <parameter type-id='type-id-106' name='n' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
@@ -13458,7 +13458,7 @@
       <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='689' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_strrchr' mangled-name='strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strrchr'>
+    <function-decl name='__interceptor_strrchr' mangled-name='__interceptor_strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strrchr'>
       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <parameter type-id='type-id-25' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <return type-id='type-id-27'/>
@@ -13473,7 +13473,7 @@
       <parameter type-id='type-id-25' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
       <return type-id='type-id-27'/>
     </function-decl>
-    <function-decl name='__interceptor_memmove' mangled-name='memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memmove'>
+    <function-decl name='__interceptor_memmove' mangled-name='__interceptor_memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memmove'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-106'/>
@@ -13497,7 +13497,7 @@
       <parameter type-id='type-id-106' name='n' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='633' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_memcpy' mangled-name='memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcpy'>
+    <function-decl name='__interceptor_memcpy' mangled-name='__interceptor_memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memcpy'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-106'/>
@@ -13549,11 +13549,11 @@
       <parameter type-id='type-id-106' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='780' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_malloc_usable_size' mangled-name='malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='__interceptor_malloc_usable_size' mangled-name='__interceptor_malloc_usable_size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc_usable_size'>
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='541' column='1'/>
       <return type-id='type-id-106'/>
     </function-decl>
-    <function-decl name='__interceptor_cfree' mangled-name='cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='__interceptor_cfree' mangled-name='__interceptor_cfree' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_cfree'>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-4'/>
     </function-decl>
@@ -13561,12 +13561,12 @@
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-4'/>
     </function-decl>
-    <function-decl name='__interceptor_realloc' mangled-name='realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realloc'>
+    <function-decl name='__interceptor_realloc' mangled-name='__interceptor_realloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realloc'>
       <parameter type-id='type-id-1' name='p' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1'/>
       <parameter type-id='type-id-106' name='size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='508' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_calloc' mangled-name='calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='calloc'>
+    <function-decl name='__interceptor_calloc' mangled-name='__interceptor_calloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_calloc'>
       <parameter type-id='type-id-106'/>
       <parameter type-id='type-id-106'/>
       <return type-id='type-id-1'/>
@@ -13576,11 +13576,11 @@
       <parameter type-id='type-id-106'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_malloc' mangled-name='malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='__interceptor_malloc' mangled-name='__interceptor_malloc' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_malloc'>
       <parameter type-id='type-id-106' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='780' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_realpath' mangled-name='realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realpath'>
+    <function-decl name='__interceptor_realpath' mangled-name='__interceptor_realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realpath'>
       <parameter type-id='type-id-2' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
       <parameter type-id='type-id-27' name='resolved_path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
       <return type-id='type-id-27'/>
@@ -13590,12 +13590,12 @@
       <parameter type-id='type-id-25' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <return type-id='type-id-4'/>
     </function-decl>
-    <function-decl name='__interceptor_longjmp' mangled-name='longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='longjmp'>
+    <function-decl name='__interceptor_longjmp' mangled-name='__interceptor_longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_longjmp'>
       <parameter type-id='type-id-472' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <parameter type-id='type-id-25' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
       <return type-id='type-id-4'/>
     </function-decl>
-    <function-decl name='__interceptor___cxa_atexit' mangled-name='__cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cxa_atexit'>
+    <function-decl name='__interceptor___cxa_atexit' mangled-name='__interceptor___cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___cxa_atexit'>
       <parameter type-id='type-id-671' name='f' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
       <parameter type-id='type-id-1' name='arg' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
       <parameter type-id='type-id-1' name='dso' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
@@ -13619,7 +13619,7 @@
       <parameter type-id='type-id-25' name='flag' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='259' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='__interceptor_nanosleep' mangled-name='nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nanosleep'>
+    <function-decl name='__interceptor_nanosleep' mangled-name='__interceptor_nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_nanosleep'>
       <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
       <return type-id='type-id-25'/>
@@ -13628,7 +13628,7 @@
       <parameter type-id='type-id-638' name='usec' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='245' column='1'/>
       <return type-id='type-id-25'/>
     </function-decl>
-    <function-decl name='__interceptor_sleep' mangled-name='sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sleep'>
+    <function-decl name='__interceptor_sleep' mangled-name='__interceptor_sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sleep'>
       <parameter type-id='type-id-211' name='sec' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1'/>
       <return type-id='type-id-211'/>
     </function-decl>
@@ -15769,7 +15769,7 @@
       <parameter type-id='type-id-1452' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='49' column='1'/>
       <return type-id='type-id-157'/>
     </function-decl>
-    <function-decl name='__tsan_unaligned_write2' mangled-name='__sanitizer_unaligned_store16' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store16'>
+    <function-decl name='__tsan_unaligned_write2' mangled-name='__tsan_unaligned_write2' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write2'>
       <parameter type-id='type-id-1453' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1'/>
       <parameter type-id='type-id-1436' name='v' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='54' column='1'/>
       <return type-id='type-id-4'/>
@@ -15779,7 +15779,7 @@
       <parameter type-id='type-id-284' name='v' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='59' column='1'/>
       <return type-id='type-id-4'/>
     </function-decl>
-    <function-decl name='__tsan_unaligned_write8' mangled-name='__sanitizer_unaligned_store64' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sanitizer_unaligned_store64'>
+    <function-decl name='__tsan_unaligned_write8' mangled-name='__tsan_unaligned_write8' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tsan_unaligned_write8'>
       <parameter type-id='type-id-1455' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1'/>
       <parameter type-id='type-id-157' name='v' filepath='../../.././libsanitizer/tsan/tsan_interface.cc' line='64' column='1'/>
       <return type-id='type-id-4'/>
diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi
index 01605868fc1b..310a8a6bd2a7 100644
--- a/tests/data/test-read-dwarf/test16-pr18904.so.abi
+++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi
@@ -41,16 +41,16 @@
     <elf-symbol name='_ZN10MyoWrapper13UnloadLibraryEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10MyoWrapper15RemoteThunkCallEPvS0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10MyoWrapper17CreateVtableArenaEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10MyoWrapperC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN10MyoWrapperC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN10MyoWrapperC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN11PersistDataC1EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN11PersistDataC2EPKvmmm' is-defined='yes'/>
-    <elf-symbol name='_ZN11PersistDataC2EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10MyoWrapperC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10MyoWrapperC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN10MyoWrapperC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11PersistDataC1EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11PersistDataC2EPKvmmm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN11PersistDataC1EPKvmmm' is-defined='yes'/>
     <elf-symbol name='_ZN11TargetImageC1EPKcPKvmS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN11TargetImageC2EPKcPKvmS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN11TargetImageC1EPKcPKvmS1_m' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN12OffloadTimerD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN12OffloadTimerD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12OffloadTimerD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTable13find_ptr_dataEPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTable15insert_ptr_dataEPKvmRb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTable15remove_ptr_dataEPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -58,8 +58,8 @@
     <elf-symbol name='_ZN12PtrDataTableC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12PtrDataTableC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTableD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN12PtrDataTableD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN12PtrDataTableD1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN14mutex_locker_tC1ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN14mutex_locker_tC2ER7mutex_t' is-defined='yes'/>
-    <elf-symbol name='_ZN14mutex_locker_tC2ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN14mutex_locker_tC1ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN14mutex_locker_tC2ER7mutex_t' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN14mutex_locker_tC1ER7mutex_t' is-defined='yes'/>
     <elf-symbol name='_ZN14mutex_locker_tD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN14mutex_locker_tD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN14mutex_locker_tD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableList14process_vtableEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -67,16 +67,16 @@
     <elf-symbol name='_ZN15MYOVarTableList7processEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableList8is_emptyEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableList9add_tableEPN9TableListI11MYOVarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN15MYOVarTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN15MYOVarTableListC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN15MYOVarTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN15MYOVarTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN15MYOVarTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN15MYOVarTableListC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableListD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN15MYOVarTableListD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN15MYOVarTableListD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList4dumpEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList7processEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList8is_emptyEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableList9add_tableEPN9TableListI12MYOFuncTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN16MYOFuncTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN16MYOFuncTableListC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN16MYOFuncTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN16MYOFuncTableListC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN16MYOFuncTableListC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN16MYOFuncTableListC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableListD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN16MYOFuncTableListD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOFuncTableListD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN16MYOInitTableList4dumpEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -95,11 +95,11 @@
     <elf-symbol name='_ZN17OffloadDescriptor14alloc_ptr_dataERP7PtrDataPvlllibbb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor14offload_finishEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvE9read_nextEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlE9read_nextEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor15setup_misc_dataEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor16init_mic_addressEP7PtrData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptor16report_coi_errorE11error_types9COIRESULT' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -123,10 +123,10 @@
     <elf-symbol name='_ZN17OffloadDescriptor7offloadEPKcbP7VarDescP8VarDesc2iPPKviS8_iS7_12OffloadFlags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptorC1EiP15_Offload_statusbbP20OffloadHostTimerData' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN17OffloadDescriptorC2EiP15_Offload_statusbbP20OffloadHostTimerData' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptorC1EiP15_Offload_statusbbP20OffloadHostTimerData' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptorD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN17OffloadDescriptorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN6DynLibC1EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6DynLibC2EPKcPKvP10coilibrary' is-defined='yes'/>
-    <elf-symbol name='_ZN6DynLibC2EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN17OffloadDescriptorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN17OffloadDescriptorD1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN6DynLibC1EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6DynLibC2EPKcPKvP10coilibrary' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6DynLibC1EPKcPKvP10coilibrary' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine10add_signalEPKvP17OffloadDescriptor' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine11find_signalEPKvb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine11init_deviceEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -156,10 +156,10 @@
     <elf-symbol name='_ZN6Engine7computeEmRKNSt7__cxx114listIP9coibufferSaIS3_EEEPKvtPvtjPK8coieventPSB_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine8fini_myoEP8coievent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Engine8init_myoEP8coievent' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN6EngineD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN6EngineD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6EngineD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN6Stream10add_streamEii' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Stream10get_deviceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN6Stream11find_streamEmb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -180,18 +180,18 @@
     <elf-symbol name='_ZN6ThreadD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN6ThreadD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrData13add_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrData16remove_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC1EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC2EPKvm' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC2ERKS_' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN7PtrDataC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC1EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC1EPKvm' is-defined='yes'/>
+    <elf-symbol name='_ZN7PtrDataC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataC1ERKS_' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrDataD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7PtrDataD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7PtrDataD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_t4lockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_t6unlockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_tC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN7mutex_tC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7mutex_tC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN7mutex_tD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7mutex_tD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN7mutex_tD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7mutex_tD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN7mutex_tD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN7mutex_tD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN8AutoData13add_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8AutoData16remove_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8AutoData17nullify_referenceEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -199,14 +199,14 @@
     <elf-symbol name='_ZN8AutoDataC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8AutoDataC1EPKvm' is-defined='yes'/>
     <elf-symbol name='_ZN8Iterator8new_nodeEPN9TableListI8VarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8IteratorC1EPN9TableListI8VarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN8IteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8IteratorC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN8IteratorC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8IteratorC2EPN9TableListI8VarTableE4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8IteratorC1EPN9TableListI8VarTableE4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN8IteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN8IteratorC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8IteratorC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN8IteratorppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8MemRangeC1EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN8MemRangeC2EPKvm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8MemRangeC1EPKvm' is-defined='yes'/>
-    <elf-symbol name='_ZN8MyoTableC1EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' is-defined='yes'/>
-    <elf-symbol name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN8MyoTableC1EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8MyoTableC1EP18MyoiSharedVarEntryi' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI11MYOVarTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI11MYOVarTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI11MYOVarTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -215,20 +215,20 @@
     <elf-symbol name='_ZN9TableListI11MYOVarTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI11MYOVarTableED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOFuncTableED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOFuncTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI12MYOInitTableED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI12MYOInitTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableE9add_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI8VarTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' is-defined='yes'/>
-    <elf-symbol name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI8VarTableEC1EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI8VarTableEC1EPNS1_4NodeE' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI8VarTableED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9TableListI8VarTableED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9TableListI9FuncTableE12remove_tableEPNS1_4NodeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -242,30 +242,30 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE9constructIS4_IS4_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE9constructIS4_JS4_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEE9constructIS4_IS4_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -273,35 +273,35 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE10deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE7destroyIS3_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE10deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE7destroyIS3_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIPcEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -316,8 +316,8 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE7destroyIS2_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -329,30 +329,30 @@
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEE9constructIS2_JS2_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEE9constructIS2_IS2_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE10deallocateEPS9_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE7destroyIS8_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE8allocateEmS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE10deallocateEPS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE7destroyIS6_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKSt21piecewise_construct_tSt5tupleIIRS3_EESD_IIEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKSt21piecewise_construct_tSt5tupleIJRS3_EESD_IJEEEEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKSt21piecewise_construct_tSt5tupleIIRS3_EESD_IIEEEEEvPT_DpOT0_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS8_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx14__alloc_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE17_S_select_on_copyERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufI11PersistDataE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufI11PersistDataE7_M_addrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -386,20 +386,20 @@
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufISt4pairIKmP6StreamEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx16__aligned_membufISt4pairIKmP6StreamEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufImE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx16__aligned_membufImE7_M_addrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS5_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEclINS_17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEES5_EEbT_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' is-defined='yes'/>
-    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEclIS5_NS_17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEEEEbRT_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops15_Iter_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN9__gnu_cxx5__ops15_Iter_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx5__ops15_Iter_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_' is-defined='yes'/>
@@ -584,57 +584,57 @@
     <elf-symbol name='_ZNSaIPKN8VarTable5EntryEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIPKN8VarTable5EntryEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEEC1ERKS3_' is-defined='yes'/>
     <elf-symbol name='_ZNSaIPKN8VarTable5EntryEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIPKN8VarTable5EntryEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIPKN8VarTable5EntryEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11PersistDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11PersistDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11TargetImageEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI11TargetImageEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI6DynLibEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI6DynLibEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI6DynLibEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeI8MyoTableEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeI8MyoTableEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP7PtrDataEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP9coibufferEEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIPcEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIP9coibufferEED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt10_List_nodeIPcEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIPcEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIPcEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt10_List_nodeIPcEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt10_List_nodeIPcEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI7PtrDataEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI8AutoDataEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeI8AutoDataEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeI8AutoDataEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKmLb0EEC1ES1_' is-defined='yes'/>
@@ -647,7 +647,7 @@
     <elf-symbol name='_ZNSt10_List_nodeIPcE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10_List_nodeImE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_,_ZNSt11_Tuple_implILm0EIRKPKvEEC2EOS4_,_ZNSt11_Tuple_implILm0EJRKPKvEEC1EOS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKPKvEEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -655,17 +655,17 @@
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKmEEC1ES1_,_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_,_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKPKvEE7_M_headERS4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC1ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKPKvEEC2EOS4_,_ZNSt11_Tuple_implILm0EJRKPKvEEC1EOS4_,_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2ES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKPKvEEC1ES3_,_ZNSt11_Tuple_implILm0EIRKPKvEEC1ES3_,_ZNSt11_Tuple_implILm0EIRKPKvEEC2ES3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKmEE7_M_headERS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKmEEC1EOS2_,_ZNSt11_Tuple_implILm0EIRKmEEC2EOS2_,_ZNSt11_Tuple_implILm0EIRKmEEC1EOS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_,_ZNSt11_Tuple_implILm0EIRKmEEC1ES1_,_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26bidirectional_iterator_tagE8__copy_mISt14_List_iteratorIPcEPS4_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__copy_moveILb1ELb0ESt26random_access_iterator_tagE8__copy_mISt13move_iteratorIPPKN8VarTable5EntryEES8_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Base_bitsetILm16EE10_M_getwordEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -687,10 +687,10 @@
     <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EE13_M_deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeI7PtrDataE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeI7PtrDataEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13_Rb_tree_nodeI7PtrDataEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13_Rb_tree_nodeI7PtrDataEC1Ev' is-defined='yes'/>
@@ -706,17 +706,17 @@
     <elf-symbol name='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEC1ES4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEC2ES4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEC1ES4_' is-defined='yes'/>
     <elf-symbol name='_ZNSt13move_iteratorIPPKN8VarTable5EntryEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11PersistDataEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI11PersistDataEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI11TargetImageEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI6DynLibEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI8MyoTableEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorI8MyoTableEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorI8MyoTableEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
@@ -725,73 +725,73 @@
     <elf-symbol name='_ZNSt14_List_iteratorIP7PtrDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorIP9coibufferEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorIP9coibufferEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorIP9coibufferEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt14_List_iteratorIPcEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEC1ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEC1ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEC2ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEC1ERS4_PS3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP7PtrDataEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE10_S_destroyIS4_S3_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE10deallocateERS4_PS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE11_S_max_sizeIKS4_EEDTcldtfp_8max_sizeEERT_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE7destroyIS3_EEvRS4_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE8allocateERS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE8max_sizeERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI6DynLibEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeI6DynLibEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -819,28 +819,28 @@
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP7PtrDataEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP7PtrDataEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE10_S_destroyIS4_S2_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE10deallocateERS4_PS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE7destroyIS2_EEvRS4_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE8allocateERS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE7destroyIS1_EEvRS3_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE8allocateERS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI8AutoDataEEE10_S_destroyIS3_S1_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI8AutoDataEEE10deallocateERS3_PS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI8AutoDataEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -859,20 +859,20 @@
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEE9constructIS7_JRKSt21piecewise_construct_tSt5tupleIJRS4_EESF_IJEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS9_PT_DpOSJ_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEE9constructIS7_IRKSt21piecewise_construct_tSt5tupleIIRS4_EESF_IIEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS9_PT_DpOSJ_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE10_S_destroyIS7_S5_EEDTcldtfp_7destroyfp0_EERT_PT0_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE10deallocateERS7_PS6_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSK_DpOSL_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESD_IJEEEEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSK_DpOSL_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSK_DpOSL_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE37select_on_container_copy_constructionERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE7destroyIS5_EEvRS7_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE8allocateERS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9_S_selectIKS7_EET_RSB_z' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' is-defined='yes'/>
     <elf-symbol name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESD_IJEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSH_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKSt21piecewise_construct_tSt5tupleIIRS2_EESD_IIEEEEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSH_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorI7PtrDataEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorI8AutoDataEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorI8AutoDataEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorI8AutoDataEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
@@ -881,8 +881,8 @@
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKPKvP17OffloadDescriptorEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -892,40 +892,40 @@
     <elf-symbol name='_ZNSt18_Rb_tree_node_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI11PersistDataEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI11PersistDataEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI11PersistDataEC1ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI8MyoTableEC1ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI8MyoTableEC2ERKSt14_List_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorI8MyoTableEC1ERKSt14_List_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorI8MyoTableEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC1ERKSt14_List_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEC2ERKSt14_List_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_List_const_iteratorIP9coibufferEC1ERKSt14_List_iteratorIS1_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt20_List_const_iteratorIP9coibufferEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb1ESt26random_access_iterator_tagE13__copy_move_bIN7VarList8BufEntryEEEPT_PKS5_S8_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb1ESt26random_access_iterator_tagE13__copy_move_bIPKN8VarTable5EntryEEEPT_PKS7_SA_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPPKN8VarTable5EntryEES7_EET0_T_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1EPKSt18_Rb_tree_node_base' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2ERKSt17_Rb_tree_iteratorIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1ERKSt17_Rb_tree_iteratorIS0_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' is-defined='yes'/>
-    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKmP6StreamEEC1ERKSt17_Rb_tree_iteratorIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKmP6StreamEEC2ERKSt17_Rb_tree_iteratorIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKmP6StreamEEC1ERKSt17_Rb_tree_iteratorIS4_E' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEE11lower_boundERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEE4findERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEixERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -934,18 +934,18 @@
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEE4findERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEE5eraseB5cxx11ESt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEixERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EE4findERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EE5eraseERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EE6insertEOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EE4findERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -956,63 +956,63 @@
     <elf-symbol name='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt3setI8AutoDataSt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE,_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES9_IIDpT0_EE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE,_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES7_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE,_ZNSt4pairIKmP6StreamEC2IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE,_ZNSt4pairIKmP6StreamEC1IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES7_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKmP6StreamEC2IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE,_ZNSt4pairIKmP6StreamEC1IIRS0_EIEEESt21piecewise_construct_tSt5tupleIIDpT_EES7_IIDpT0_EE,_ZNSt4pairIKmP6StreamEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES7_IJDpT0_EE' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKmP6StreamEC2IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE,_ZNSt4pairIKmP6StreamEC1IIRS0_EILm0EEIEIEEERSt5tupleIIDpT_EERS6_IIDpT1_EESt12_Index_tupleIIXspT0_EEESF_IIXspT2_EEE,_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI7PtrDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKPKvP17OffloadDescriptorEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKmP6StreamEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEERKS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI7PtrDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI7PtrDataERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKPKvP17OffloadDescriptorEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKPKvP17OffloadDescriptorEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKmP6StreamEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKmP6StreamEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEERKS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEERKS1_OT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataEbEC1IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataEbEC2IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataEbEC1IS2_bLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKPKvEEC2EOS4_,_ZNSt5tupleIJRKPKvEEC1EOS4_,_ZNSt5tupleIJRKPKvEEC2EOS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKPKvEEC1IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_,_ZNSt5tupleIJRKPKvEEC1IvLb1EEES3_,_ZNSt5tupleIIRKPKvEEC1IvLb1EEES3_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIIRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKmEEC1EOS2_,_ZNSt5tupleIIRKmEEC2EOS2_,_ZNSt5tupleIJRKmEEC2EOS2_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIIRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKmEEC1IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIIRKmEEC2IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIJRKPKvEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIJRKPKvEEC1IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKPKvEEC1EOS4_,_ZNSt5tupleIIRKPKvEEC2EOS4_,_ZNSt5tupleIJRKPKvEEC1EOS4_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKPKvEEC1IvLb1EEES3_,_ZNSt5tupleIIRKPKvEEC1IvLb1EEES3_,_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_' is-defined='yes'/>
     <elf-symbol name='_ZNSt5tupleIJRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_,_ZNSt5tupleIIRKmEEC2IvLb1EEES1_,_ZNSt5tupleIIRKmEEC1IvLb1EEES1_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKmEEC1EOS2_,_ZNSt5tupleIJRKmEEC1EOS2_,_ZNSt5tupleIIRKmEEC2EOS2_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIIRKmEEC2IvLb1EEES1_,_ZNSt5tupleIIRKmEEC1IvLb1EEES1_,_ZNSt5tupleIJRKmEEC1IvLb1EEES1_' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm1024EE14_Unchecked_setEmi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm1024EE3setEmb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm1024EE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1025,13 +1025,13 @@
     <elf-symbol name='_ZNSt6bitsetILm128EE14_Unchecked_setEmi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm128EE3setEmb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm128EE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC1ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceD2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC1ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceC1ERS0_m' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6bitsetILm128EE9referenceD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6bitsetILm128EE9referenceD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt6bitsetILm128EEixEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE19_M_range_initializeI8IteratorEEvT_S8_St18input_iterator_tag' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1040,10 +1040,10 @@
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EEC1I8IteratorvEET_S8_RKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EEC2I8IteratorvEET_S8_RKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EEC1I8IteratorvEET_S8_RKS4_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implD1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE11_M_dec_sizeEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1056,8 +1056,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EEC1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE10_List_implD2Ev' is-defined='yes'/>
@@ -1069,8 +1069,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI6DynLibSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1100,10 +1100,10 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EE10_List_implD2Ev' is-defined='yes'/>
@@ -1119,8 +1119,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP7PtrDataSaIS2_EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1134,8 +1134,8 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implD2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1145,45 +1145,45 @@
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE7_M_initEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE8_M_clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1110_List_baseIPcSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE10push_frontERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5eraseESt20_List_const_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5eraseESt20_List_const_iteratorIS1_ES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE5frontEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE8_M_eraseESt14_List_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11PersistDataSaIS1_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11PersistDataSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9push_backEOS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI11TargetImageSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI11TargetImageSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE10push_frontEOS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EE5eraseESt20_List_const_iteratorIS1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1194,8 +1194,8 @@
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI6DynLibSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI6DynLibSaIS1_EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1207,8 +1207,8 @@
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listI8MyoTableSaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listI8MyoTableSaIS1_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE10push_frontERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1218,23 +1218,23 @@
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP7PtrDataSaIS2_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9_M_insertIIRKS2_EEEvSt14_List_iteratorIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9_M_insertIJRKS2_EEEvSt14_List_iteratorIS2_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9_M_insertIIRKS2_EEEvSt14_List_iteratorIS2_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE9push_backERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIP9coibufferSaIS2_EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIP9coibufferSaIS2_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7__cxx114listIPcSaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx114listIPcSaIS1_EEC1Ev' is-defined='yes'/>
@@ -1255,8 +1255,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS0_EPSt18_Rb_tree_node_baseRKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_upper_boundEPSt13_Rb_tree_nodeIS0_EPSt18_Rb_tree_node_baseRKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1281,13 +1281,13 @@
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_S_valueEPKSt13_Rb_tree_nodeIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_S_valueEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11equal_rangeERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1296,8 +1296,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS0_ES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EE13_M_initializeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EE8_M_resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1341,16 +1341,16 @@
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EED2Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE13_Rb_tree_implISA_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSE_PSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE17_M_construct_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE17_M_construct_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE24_M_get_insert_unique_posERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1371,8 +1371,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE10_S_maximumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE10_S_minimumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_M_leftmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1382,16 +1382,16 @@
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE12_M_rightmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_M_clone_nodeINSA_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS4_EPKSE_RT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EE13_M_initializeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EED1Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSC_PSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS4_EPSt18_Rb_tree_node_baseRS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1400,8 +1400,8 @@
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIJRKS4_EEEvPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIIRKS4_EEEvPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE17_M_construct_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE24_M_get_insert_unique_posERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1423,11 +1423,11 @@
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE8_S_valueEPKSt13_Rb_tree_nodeIS4_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE8_S_valueEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1ERKSA_' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8iteratorISt18input_iterator_tagN8VarTable5EntryElPS2_RS2_EC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8iteratorISt18input_iterator_tagN8VarTable5EntryElPS2_RS2_EC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8iteratorISt18input_iterator_tagN8VarTable5EntryElPS2_RS2_EC1Ev' is-defined='yes'/>
@@ -1479,9 +1479,9 @@
     <elf-symbol name='_ZSt34__uninitialized_move_if_noexcept_aIPPKN8VarTable5EntryES4_SaIS3_EET0_T_S7_S6_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3decRSt8ios_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EIRKPKvEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3getILm0EJRKPKvEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EIRKPKvEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS8_' is-defined='yes'/>
-    <elf-symbol name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_' is-defined='yes'/>
     <elf-symbol name='_ZSt3hexRSt8ios_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt3maxImERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt4__lgl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1525,12 +1525,12 @@
     <elf-symbol name='_ZSt7forwardIRbEOT_RNSt16remove_referenceIS1_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt17_Rb_tree_iteratorI7PtrDataEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt17_Rb_tree_iteratorI8AutoDataEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt5tupleIIRKPKvEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardISt5tupleIJRKPKvEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIIRKPKvEEEOT_RNSt16remove_referenceIS6_E4typeE' is-defined='yes'/>
-    <elf-symbol name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' is-defined='yes'/>
     <elf-symbol name='_ZSt7forwardIbEOT_RNSt16remove_referenceIS0_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt8_DestroyIPPKN8VarTable5EntryEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt8_DestroyIPPKN8VarTable5EntryES3_EvT_S5_RSaIT0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2419,13 +2419,13 @@
         </function-decl>
       </member-function>
       <member-function access='private' destructor='yes'>
-        <function-decl name='~Engine' mangled-name='_ZN6EngineD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='570' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineD1Ev'>
+        <function-decl name='~Engine' mangled-name='_ZN6EngineD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='570' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineD2Ev'>
           <parameter type-id='type-id-199' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='Engine' mangled-name='_ZN6EngineC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineC1Ev'>
+        <function-decl name='Engine' mangled-name='_ZN6EngineC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6EngineC2Ev'>
           <parameter type-id='type-id-199' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -2590,7 +2590,7 @@
         <var-decl name='cpu_stack_addr' type-id='type-id-214' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='320' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
-        <function-decl name='PersistData' mangled-name='_ZN11PersistDataC2EPKvmmm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11PersistDataC1EPKvmmm'>
+        <function-decl name='PersistData' mangled-name='_ZN11PersistDataC2EPKvmmm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11PersistDataC2EPKvmmm'>
           <parameter type-id='type-id-215' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-150' name='addr' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='304' column='1'/>
           <parameter type-id='type-id-56' name='routine_num' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='304' column='1'/>
@@ -2636,14 +2636,14 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1ERKS_'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2ERKS_'>
           <parameter type-id='type-id-220' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-219' name='ptr' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1'/>
           <return type-id='type-id-154'/>
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1EPKvm'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2EPKvm'>
           <parameter type-id='type-id-220' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-150' name='addr' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1'/>
           <parameter type-id='type-id-56' name='len' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1'/>
@@ -2669,14 +2669,14 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1ERKS_'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2ERKS_' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2ERKS_'>
           <parameter type-id='type-id-220' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-219' name='ptr' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='92' column='1'/>
           <return type-id='type-id-154'/>
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC1EPKvm'>
+        <function-decl name='PtrData' mangled-name='_ZN7PtrDataC2EPKvm' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7PtrDataC2EPKvm'>
           <parameter type-id='type-id-220' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-150' name='addr' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1'/>
           <parameter type-id='type-id-56' name='len' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='83' column='1'/>
@@ -2784,7 +2784,7 @@
         <var-decl name='lib' type-id='type-id-32' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='297' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
-        <function-decl name='DynLib' mangled-name='_ZN6DynLibC2EPKcPKvP10coilibrary' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6DynLibC1EPKcPKvP10coilibrary'>
+        <function-decl name='DynLib' mangled-name='_ZN6DynLibC2EPKcPKvP10coilibrary' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN6DynLibC2EPKcPKvP10coilibrary'>
           <parameter type-id='type-id-234' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-152' name='_name' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='287' column='1'/>
           <parameter type-id='type-id-150' name='_data' filepath='../../../gcc/liboffloadmic/runtime/offload_engine.h' line='287' column='1'/>
@@ -3166,7 +3166,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIPvEC1Ev'>
+            <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIPvEC2Ev'>
               <parameter type-id='type-id-260' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -3210,7 +3210,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIlEC1Ev'>
+            <function-decl name='ReadArrElements' mangled-name='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptor15ReadArrElementsIlEC2Ev'>
               <parameter type-id='type-id-262' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -3330,7 +3330,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD1Ev'>
+        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD2Ev'>
           <parameter type-id='type-id-271' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -3598,7 +3598,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD1Ev'>
+        <function-decl name='~OffloadDescriptor' mangled-name='_ZN17OffloadDescriptorD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_host.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN17OffloadDescriptorD2Ev'>
           <parameter type-id='type-id-271' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -4678,7 +4678,7 @@
           <var-decl name='second' type-id='type-id-285' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='private'>
-          <function-decl name='pair&lt;long unsigned int const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKmP6StreamEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE'>
+          <function-decl name='pair&lt;long unsigned int const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKmP6StreamEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS6_IJDpT1_EESt12_Index_tupleIJXspT0_EEESF_IJXspT2_EEE'>
             <parameter type-id='type-id-1127' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1128' name='__tuple1' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1552' column='1'/>
             <parameter type-id='type-id-1129' name='__tuple2' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1552' column='1'/>
@@ -4715,13 +4715,13 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED2Ev'>
             <parameter type-id='type-id-1078' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP9coibufferEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP9coibufferEED2Ev'>
             <parameter type-id='type-id-1078' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -4757,7 +4757,7 @@
           <typedef-decl name='pointer' type-id='type-id-929' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='99' column='1' id='type-id-1142'/>
         </member-type>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11PersistDataEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11PersistDataEEC2Ev'>
             <parameter type-id='type-id-1143' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -4799,13 +4799,13 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev'>
             <parameter type-id='type-id-1072' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIP7PtrDataEED2Ev'>
             <parameter type-id='type-id-1072' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -4841,7 +4841,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11TargetImageEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI11TargetImageEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI11TargetImageEED2Ev'>
             <parameter type-id='type-id-1151' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -4904,32 +4904,32 @@
           <typedef-decl name='pointer' type-id='type-id-989' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='99' column='1' id='type-id-1158'/>
         </member-type>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev'>
             <parameter type-id='type-id-1159' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-1159' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2Ev'>
             <parameter type-id='type-id-1159' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC1ERKS6_'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEC2ERKS6_'>
             <parameter type-id='type-id-1159' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1160' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='117' column='1'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-1159' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -5080,7 +5080,7 @@
           <var-decl name='second' type-id='type-id-206' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='private'>
-          <function-decl name='pair&lt;void const* const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKPKvP17OffloadDescriptorEC1IIRS2_EILm0EEIEIEEERSt5tupleIIDpT_EERS8_IIDpT1_EESt12_Index_tupleIIXspT0_EEESH_IIXspT2_EEE'>
+          <function-decl name='pair&lt;void const* const&amp;, 0ul&gt;' mangled-name='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIKPKvP17OffloadDescriptorEC2IJRS2_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE'>
             <parameter type-id='type-id-1193' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1194' name='__tuple1' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1552' column='1'/>
             <parameter type-id='type-id-1129' name='__tuple2' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1552' column='1'/>
@@ -5113,7 +5113,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC1ERSA_'>
+              <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE11_Alloc_nodeC2ERSA_'>
                 <parameter type-id='type-id-1201' name='this' is-artificial='yes'/>
                 <parameter type-id='type-id-1197' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1'/>
                 <return type-id='type-id-154'/>
@@ -5194,7 +5194,7 @@
               </function-decl>
             </member-function>
             <member-function access='public'>
-              <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC1ERKS8_OSaISt13_Rb_tree_nodeIS4_EE'>
+              <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEC2ERKS8_OSaISt13_Rb_tree_nodeIS4_EE'>
                 <parameter type-id='type-id-1213' name='this' is-artificial='yes'/>
                 <parameter type-id='type-id-1214' name='__comp' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='607' column='1'/>
                 <parameter type-id='type-id-1215' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='607' column='1'/>
@@ -5312,7 +5312,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev'>
             <parameter type-id='type-id-1216' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -5331,7 +5331,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev'>
             <parameter type-id='type-id-1216' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -5345,7 +5345,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
+          <function-decl name='_M_create_node&lt;const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKS4_EEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
             <parameter type-id='type-id-1216' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1199' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1'/>
             <return type-id='type-id-1200'/>
@@ -5483,7 +5483,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
+          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEEPSt13_Rb_tree_nodeIS4_EDpOT_'>
             <parameter type-id='type-id-1216' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1221' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1'/>
             <parameter type-id='type-id-1128' name='__args#1' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1'/>
@@ -5511,7 +5511,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EEC2Ev'>
             <parameter type-id='type-id-1216' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -5524,7 +5524,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESF_IIEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_'>
+          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;long unsigned int const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_'>
             <parameter type-id='type-id-1216' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1208' name='__pos' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2169' column='1'/>
             <parameter type-id='type-id-1221' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2169' column='1'/>
@@ -5534,7 +5534,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeImSt4pairIKmP6StreamESt10_Select1stIS4_ESt4lessImESaIS4_EED2Ev'>
             <parameter type-id='type-id-1216' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -5636,7 +5636,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-1248' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1245' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1'/>
             <return type-id='type-id-154'/>
@@ -5669,7 +5669,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorISt4pairIKmP6StreamEEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-1248' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1245' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1'/>
             <return type-id='type-id-154'/>
@@ -5743,7 +5743,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC1ERS6_'>
+              <function-decl name='_Alloc_node' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE11_Alloc_nodeC2ERS6_'>
                 <parameter type-id='type-id-1262' name='this' is-artificial='yes'/>
                 <parameter type-id='type-id-1258' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='459' column='1'/>
                 <return type-id='type-id-154'/>
@@ -5770,7 +5770,7 @@
               </function-decl>
             </member-function>
             <member-function access='public'>
-              <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC1Ev'>
+              <function-decl name='_Rb_tree_impl' mangled-name='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI8AutoDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEC2Ev'>
                 <parameter type-id='type-id-1264' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
@@ -6132,7 +6132,7 @@
           <typedef-decl name='pointer' type-id='type-id-987' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='99' column='1' id='type-id-1300'/>
         </member-type>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeI7PtrDataEEC2Ev'>
             <parameter type-id='type-id-1301' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -6173,7 +6173,7 @@
           <typedef-decl name='pointer' type-id='type-id-991' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='99' column='1' id='type-id-1311'/>
         </member-type>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev'>
             <parameter type-id='type-id-1312' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -6234,7 +6234,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC1EPKSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI8AutoDataEC2EPKSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-1317' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1314' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='263' column='1'/>
             <return type-id='type-id-154'/>
@@ -6388,7 +6388,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;PtrData&gt;' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIIS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_'>
+          <function-decl name='_M_create_node&lt;PtrData&gt;' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_create_nodeIJS0_EEEPSt13_Rb_tree_nodeIS0_EDpOT_'>
             <parameter type-id='type-id-1339' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1326' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1'/>
             <return type-id='type-id-1327'/>
@@ -6574,7 +6574,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC1Ev'>
+          <function-decl name='_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2Ev'>
             <parameter type-id='type-id-1339' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -6600,7 +6600,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED1Ev'>
+          <function-decl name='~_Rb_tree' mangled-name='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeI7PtrDataS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev'>
             <parameter type-id='type-id-1339' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -6696,7 +6696,7 @@
           <var-decl name='_M_node' type-id='type-id-1366' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='319' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E'>
             <parameter type-id='type-id-1370' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1371' name='__it' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1'/>
             <return type-id='type-id-154'/>
@@ -6742,7 +6742,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC1ERKSt17_Rb_tree_iteratorIS0_E'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorI7PtrDataEC2ERKSt17_Rb_tree_iteratorIS0_E'>
             <parameter type-id='type-id-1370' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1371' name='__it' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1'/>
             <return type-id='type-id-154'/>
@@ -6779,7 +6779,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-1377' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1374' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1'/>
             <return type-id='type-id-154'/>
@@ -6793,7 +6793,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC1EPSt18_Rb_tree_node_base'>
+          <function-decl name='_Rb_tree_iterator' mangled-name='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17_Rb_tree_iteratorI7PtrDataEC2EPSt18_Rb_tree_node_base'>
             <parameter type-id='type-id-1377' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1374' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='191' column='1'/>
             <return type-id='type-id-154'/>
@@ -6856,7 +6856,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;TargetImage, TargetImage&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_IS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_'>
+          <function-decl name='_S_construct&lt;TargetImage, TargetImage&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE12_S_constructIS1_JS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PS9_DpOSA_'>
             <parameter type-id='type-id-1387' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-319' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1388' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -6887,7 +6887,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
+          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11TargetImageEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
             <parameter type-id='type-id-1387' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-319' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-208' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -6933,7 +6933,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_IRKS2_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_'>
+          <function-decl name='_S_construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE12_S_constructIS2_JRKS2_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSC_DpOSD_'>
             <parameter type-id='type-id-1076' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-396' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1394' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -6948,7 +6948,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_IRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_'>
+          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIP9coibufferEEE9constructIS2_JRKS2_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS9_'>
             <parameter type-id='type-id-1076' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-396' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1394' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -6996,7 +6996,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
+          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeI11PersistDataEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
             <parameter type-id='type-id-1404' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-311' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1405' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -7346,7 +7346,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_'>
+          <function-decl name='_M_create_node&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_'>
             <parameter type-id='type-id-1439' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1221' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1'/>
             <parameter type-id='type-id-1194' name='__args#1' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='553' column='1'/>
@@ -7400,7 +7400,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS3_EESH_IIEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_'>
+          <function-decl name='_M_emplace_hint_unique&lt;const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8_Rb_treeIPKvSt4pairIKS1_P17OffloadDescriptorESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_'>
             <parameter type-id='type-id-1439' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1433' name='__pos' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2169' column='1'/>
             <parameter type-id='type-id-1221' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='2169' column='1'/>
@@ -7553,7 +7553,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC1ERKSt17_Rb_tree_iteratorIS6_E'>
+          <function-decl name='_Rb_tree_const_iterator' mangled-name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Rb_tree_const_iteratorISt4pairIKPKvP17OffloadDescriptorEEC2ERKSt17_Rb_tree_iteratorIS6_E'>
             <parameter type-id='type-id-1469' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1470' name='__it' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_tree.h' line='266' column='1'/>
             <return type-id='type-id-154'/>
@@ -7629,7 +7629,7 @@
           <var-decl name='_M_node' type-id='type-id-1050' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='198' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI6DynLibEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI6DynLibEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1493' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1050' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1'/>
             <return type-id='type-id-154'/>
@@ -7840,7 +7840,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorI6DynLibEC1ERKSt14_List_iteratorIS0_E'>
+          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorI6DynLibEC2ERKSt14_List_iteratorIS0_E'>
             <parameter type-id='type-id-1543' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1544' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='227' column='1'/>
             <return type-id='type-id-154'/>
@@ -7907,7 +7907,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI6DynLibEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI6DynLibEED2Ev'>
             <parameter type-id='type-id-1560' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -7938,7 +7938,7 @@
           <var-decl name='second' type-id='type-id-992' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_'>
             <parameter type-id='type-id-1564' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1565' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1'/>
             <parameter type-id='type-id-1566' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1'/>
@@ -7970,7 +7970,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node&lt;AutoData&gt;*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node&lt;AutoData&gt;*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeI8AutoDataERS1_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1564' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1570' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-1565' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -7978,7 +7978,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1564' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1565' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-1565' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -7994,7 +7994,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_Lb1EEEOT_RKS1_'>
+          <function-decl name='pair&lt;std::_Rb_tree_node_base*&amp;, 1u&gt;' mangled-name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_Lb1EEEOT_RKS1_'>
             <parameter type-id='type-id-1564' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1565' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1'/>
             <parameter type-id='type-id-1566' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='202' column='1'/>
@@ -8100,7 +8100,7 @@
           <var-decl name='_M_node' type-id='type-id-1050' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='198' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1600' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1050' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1'/>
             <return type-id='type-id-154'/>
@@ -8127,7 +8127,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11TargetImageEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1600' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1050' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1'/>
             <return type-id='type-id-154'/>
@@ -8200,7 +8200,7 @@
           <var-decl name='_M_node' type-id='type-id-1050' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='198' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1618' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1050' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1'/>
             <return type-id='type-id-154'/>
@@ -8239,7 +8239,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC1Ev'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorI11PersistDataEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorI11PersistDataEC2Ev'>
             <parameter type-id='type-id-1618' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -8331,7 +8331,7 @@
           <var-decl name='second' type-id='type-id-639' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, std::_Rb_tree_iterator&lt;AutoData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC1IS2_S2_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, std::_Rb_tree_iterator&lt;AutoData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataES2_EC2IS2_S2_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1633' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1634' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-1634' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -8358,7 +8358,7 @@
           <var-decl name='second' type-id='type-id-645' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;, std::_Rb_tree_iterator&lt;PtrData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC1IS2_S2_Lb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;, std::_Rb_tree_iterator&lt;PtrData&gt;, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI7PtrDataES2_EC2IS2_S2_Lb1EEEOT_OT0_'>
             <parameter type-id='type-id-1636' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1637' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-1637' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -8468,7 +8468,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapIPKvP17OffloadDescriptorSt4lessIS1_ESaISt4pairIKS1_S3_EEEC2Ev'>
             <parameter type-id='type-id-1657' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -8555,7 +8555,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev'>
             <parameter type-id='type-id-1667' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -8580,13 +8580,13 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1Ev'>
+          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2Ev'>
             <parameter type-id='type-id-1667' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC1ERKS8_'>
+          <function-decl name='map' mangled-name='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3mapImP6StreamSt4lessImESaISt4pairIKmS1_EEEC2ERKS8_'>
             <parameter type-id='type-id-1667' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1670' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_map.h' line='185' column='1'/>
             <return type-id='type-id-154'/>
@@ -8620,7 +8620,7 @@
           <var-decl name='_M_node' type-id='type-id-759' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='282' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorIP9coibufferEC1EPKNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_const_iterator' mangled-name='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt20_List_const_iteratorIP9coibufferEC2EPKNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-1677' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-759' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='223' column='1'/>
             <return type-id='type-id-154'/>
@@ -8696,7 +8696,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='set' mangled-name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_set.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC1Ev'>
+          <function-decl name='set' mangled-name='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_set.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt3setI7PtrDataSt4lessIS0_ESaIS0_EEC2Ev'>
             <parameter type-id='type-id-1688' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -8798,7 +8798,7 @@
           <var-decl name='second' type-id='type-id-149' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI8AutoDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
             <parameter type-id='type-id-1703' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1634' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-204' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -8814,7 +8814,7 @@
           <var-decl name='second' type-id='type-id-149' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
             <parameter type-id='type-id-1704' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1637' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-204' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -8822,7 +8822,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC1IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;PtrData&gt;&amp;, bool&amp;, 1u&gt;' mangled-name='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt23_Rb_tree_const_iteratorI7PtrDataEbEC2IRSt17_Rb_tree_iteratorIS1_ERbLb1EEEOT_OT0_'>
             <parameter type-id='type-id-1704' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1637' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-204' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -8987,7 +8987,7 @@
                 <var-decl name='_M_node' type-id='type-id-536' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='327' column='1'/>
               </data-member>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC1Ev'>
+                <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIP9coibufferSaIS2_EE10_List_implC2Ev'>
                   <parameter type-id='type-id-1020' name='this' is-artificial='yes'/>
                   <return type-id='type-id-154'/>
                 </function-decl>
@@ -9078,7 +9078,7 @@
                 <var-decl name='_M_node' type-id='type-id-536' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='327' column='1'/>
               </data-member>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC1Ev'>
+                <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EE10_List_implC2Ev'>
                   <parameter type-id='type-id-1719' name='this' is-artificial='yes'/>
                   <return type-id='type-id-154'/>
                 </function-decl>
@@ -9147,7 +9147,7 @@
             </function-decl>
           </member-function>
           <member-function access='private' destructor='yes'>
-            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED1Ev'>
+            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11PersistDataSaIS1_EED2Ev'>
               <parameter type-id='type-id-1720' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -9397,7 +9397,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC1Ev'>
+            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI11TargetImageSaIS1_EEC2Ev'>
               <parameter type-id='type-id-1731' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -9460,7 +9460,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;TargetImage&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;TargetImage&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-1745' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-1388' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1'/>
               <return type-id='type-id-1746'/>
@@ -9482,7 +9482,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_insert&lt;const TargetImage&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
+            <function-decl name='_M_insert&lt;const TargetImage&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
               <parameter type-id='type-id-1745' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-1737' name='__position' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1'/>
               <parameter type-id='type-id-208' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1'/>
@@ -9497,7 +9497,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='list' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC1Ev'>
+            <function-decl name='list' mangled-name='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11TargetImageSaIS1_EEC2Ev'>
               <parameter type-id='type-id-1745' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -9543,7 +9543,7 @@
             <typedef-decl name='_Node' type-id='type-id-532' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='533' column='1' id='type-id-1759'/>
           </member-type>
           <member-function access='private'>
-            <function-decl name='list' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC1Ev'>
+            <function-decl name='list' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EEC2Ev'>
               <parameter type-id='type-id-1045' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -9567,7 +9567,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;coibuffer* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
+            <function-decl name='_M_create_node&lt;coibuffer* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP9coibufferSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
               <parameter type-id='type-id-1045' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-1394' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1'/>
               <return type-id='type-id-1761'/>
@@ -9634,7 +9634,7 @@
             <typedef-decl name='_Node' type-id='type-id-520' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='533' column='1' id='type-id-1773'/>
           </member-type>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-1774' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-1405' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1'/>
               <return type-id='type-id-1775'/>
@@ -9648,7 +9648,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_insert&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
+            <function-decl name='_M_insert&lt;const PersistData&amp;&gt;' mangled-name='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI11PersistDataSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
               <parameter type-id='type-id-1774' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-1767' name='__position' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1'/>
               <parameter type-id='type-id-1405' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1'/>
@@ -9741,7 +9741,7 @@
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;PtrData* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIIRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
+            <function-decl name='_M_create_node&lt;PtrData* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIP7PtrDataSaIS2_EE14_M_create_nodeIJRKS2_EEEPSt10_List_nodeIS2_EDpOT_'>
               <parameter type-id='type-id-1034' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-1415' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1'/>
               <return type-id='type-id-1789'/>
@@ -9820,7 +9820,7 @@
             <typedef-decl name='allocator_type' type-id='type-id-763' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='528' column='1' id='type-id-715'/>
           </member-type>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;DynLib&gt;' mangled-name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;DynLib&gt;' mangled-name='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI6DynLibSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-1803' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-1536' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1'/>
               <return type-id='type-id-1804'/>
@@ -10022,13 +10022,13 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-1836' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_IRKS6_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEE9constructIS6_JRKS6_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-1836' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1101' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-1199' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -10073,7 +10073,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKmP6StreamEEED2Ev'>
             <parameter type-id='type-id-1836' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -10117,7 +10117,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI8AutoDataEED2Ev'>
             <parameter type-id='type-id-1844' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -10197,7 +10197,7 @@
           <typedef-decl name='const_reference' type-id='type-id-669' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='66' column='1' id='type-id-1852'/>
         </member-type>
         <member-function access='private'>
-          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_IS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeI7PtrDataEE9constructIS2_JS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-1853' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-205' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-1326' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -10315,7 +10315,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEEC2Ev'>
             <parameter type-id='type-id-378' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -10333,7 +10333,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_IRKS3_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;coibuffer*, coibuffer* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP9coibufferEE9constructIS3_JRKS3_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-378' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-396' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-1394' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -10378,7 +10378,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_IRKS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;PersistData, const PersistData&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEE9constructIS2_JRKS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-1876' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-311' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-1405' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -10415,7 +10415,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11PersistDataEED2Ev'>
             <parameter type-id='type-id-1876' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -10453,7 +10453,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEEC2Ev'>
             <parameter type-id='type-id-373' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -10471,7 +10471,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;PtrData*, PtrData* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_IRKS3_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;PtrData*, PtrData* const&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIP7PtrDataEE9constructIS3_JRKS3_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-373' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-316' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-1415' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -10558,7 +10558,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;std::pair&lt;void const* const, OffloadDescriptor*&gt;, const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_IRKSt21piecewise_construct_tSt5tupleIIRS5_EESF_IIEEEEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;std::pair&lt;void const* const, OffloadDescriptor*&gt;, const std::piecewise_construct_t&amp;, std::tuple&lt;void const* const&amp;&gt;, std::tuple&lt;&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEE9constructIS8_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESF_IJEEEEEvPT_DpOT0_'>
             <parameter type-id='type-id-1890' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1113' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-1221' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -10590,7 +10590,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKvP17OffloadDescriptorEEEC2Ev'>
             <parameter type-id='type-id-1890' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -10683,7 +10683,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_IRKS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;TargetImage, const TargetImage&amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEE9constructIS2_JRKS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-1899' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-319' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-208' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -10699,7 +10699,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI11TargetImageEEC2Ev'>
             <parameter type-id='type-id-1899' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -10873,13 +10873,13 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEEC2Ev'>
             <parameter type-id='type-id-1922' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI6DynLibEED2Ev'>
             <parameter type-id='type-id-1922' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -11344,14 +11344,14 @@
       <class-decl name='tuple&lt;long unsigned int const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1133'>
         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1967'/>
         <member-function access='private'>
-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKmEEC1EOS2_'>
+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2EOS2_'>
             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1128'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_'>
+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_'>
             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1217' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
             <return type-id='type-id-154'/>
@@ -11363,14 +11363,14 @@
       <class-decl name='tuple&lt;void const* const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1195'>
         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1969'/>
         <member-function access='private'>
-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC1EOS4_'>
+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2EOS4_'>
             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1194'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_'>
+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_'>
             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1442' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
             <return type-id='type-id-154'/>
@@ -11606,7 +11606,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -11618,7 +11618,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -11630,7 +11630,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -11642,7 +11642,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -11654,7 +11654,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -11717,7 +11717,7 @@
           <var-decl name='second' type-id='type-id-149' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_'>
             <parameter type-id='type-id-2024' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1634' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-204' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -11839,7 +11839,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_'>
+          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_'>
             <parameter type-id='type-id-2056' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1217' name='__head' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1'/>
             <return type-id='type-id-154'/>
@@ -11851,7 +11851,7 @@
       <class-decl name='_Tuple_impl&lt;0ul, void const* const&amp;&gt;' size-in-bits='64' is-struct='yes' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='338' column='1' id='type-id-1969'>
         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-2058'/>
         <member-function access='public'>
-          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_'>
+          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_'>
             <parameter type-id='type-id-2059' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2060' name='__in' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1'/>
             <return type-id='type-id-154'/>
@@ -12002,7 +12002,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_'>
+          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_'>
             <parameter type-id='type-id-2075' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1442' name='__h' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1'/>
             <return type-id='type-id-154'/>
@@ -12234,7 +12234,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='Iterator' mangled-name='_ZN8IteratorC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_iterator.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8IteratorC1Ev'>
+        <function-decl name='Iterator' mangled-name='_ZN8IteratorC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_iterator.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8IteratorC2Ev'>
           <parameter type-id='type-id-2101' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -12251,7 +12251,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC1ER7mutex_t'>
+        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC2ER7mutex_t'>
           <parameter type-id='type-id-2107' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-2106' name='mutex' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1'/>
           <return type-id='type-id-154'/>
@@ -12264,7 +12264,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC1ER7mutex_t'>
+        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC2ER7mutex_t'>
           <parameter type-id='type-id-2107' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-2106' name='mutex' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1'/>
           <return type-id='type-id-154'/>
@@ -12277,7 +12277,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC1ER7mutex_t'>
+        <function-decl name='mutex_locker_t' mangled-name='_ZN14mutex_locker_tC2ER7mutex_t' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN14mutex_locker_tC2ER7mutex_t'>
           <parameter type-id='type-id-2107' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-2106' name='mutex' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='124' column='1'/>
           <return type-id='type-id-154'/>
@@ -12751,7 +12751,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~allocator' mangled-name='_ZNSaIPKN8VarTable5EntryEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIPKN8VarTable5EntryEED1Ev'>
+          <function-decl name='~allocator' mangled-name='_ZNSaIPKN8VarTable5EntryEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIPKN8VarTable5EntryEED2Ev'>
             <parameter type-id='type-id-2272' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -12949,7 +12949,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_IS3_EEENSt9enable_ifIXsrSt6__and_IINS5_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_'>
+          <function-decl name='_S_construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE12_S_constructIS3_JS3_EEENSt9enable_ifIXsrSt6__and_IJNS5_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS4_PSA_DpOSB_'>
             <parameter type-id='type-id-2270' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2169' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2168' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -12957,7 +12957,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_'>
+          <function-decl name='construct&lt;const VarTable::Entry*, const VarTable::Entry*&gt;' mangled-name='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaIPKN8VarTable5EntryEEE9constructIS3_JS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_'>
             <parameter type-id='type-id-2270' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2169' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2168' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -13028,7 +13028,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_IRKS5_EEENSt9enable_ifIXsrSt6__and_IINS8_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_'>
+          <function-decl name='_S_construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE12_S_constructIS5_JRKS5_EEENSt9enable_ifIXsrSt6__and_IJNS8_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS7_PSF_DpOSG_'>
             <parameter type-id='type-id-2278' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1101' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1199' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -13036,7 +13036,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_IRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_'>
+          <function-decl name='construct&lt;std::pair&lt;long unsigned int const, Stream*&gt;, const std::pair&lt;long unsigned int const, Stream*&gt;&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKmP6StreamEEEE9constructIS5_JRKS5_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS7_PT_DpOSC_'>
             <parameter type-id='type-id-2278' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1101' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1199' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -13222,13 +13222,13 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED1Ev'>
+          <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EED2Ev'>
             <parameter type-id='type-id-2257' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC1ERKS4_'>
+          <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12_Vector_baseIPKN8VarTable5EntryESaIS3_EEC2ERKS4_'>
             <parameter type-id='type-id-2257' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2215' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='127' column='1'/>
             <return type-id='type-id-154'/>
@@ -13304,7 +13304,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='emplace_back&lt;const VarTable::Entry*&gt;' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/vector.tcc' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIIS3_EEEvDpOT_'>
+          <function-decl name='emplace_back&lt;const VarTable::Entry*&gt;' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/vector.tcc' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EE12emplace_backIJS3_EEEvDpOT_'>
             <parameter type-id='type-id-2325' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2168' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/vector.tcc' line='408' column='1'/>
             <return type-id='type-id-154'/>
@@ -13347,7 +13347,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~vector' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED1Ev'>
+          <function-decl name='~vector' mangled-name='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIPKN8VarTable5EntryESaIS3_EED2Ev'>
             <parameter type-id='type-id-2325' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -13407,7 +13407,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_IS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_'>
+          <function-decl name='construct&lt;PtrData, PtrData&gt;' mangled-name='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeI7PtrDataEEE9constructIS1_JS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS6_'>
             <parameter type-id='type-id-2276' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-205' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-1326' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -13495,7 +13495,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI6DynLibEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-2266' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1535' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
             <parameter type-id='type-id-2425' name='__ptr' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
@@ -13929,7 +13929,7 @@
           <var-decl name='_M_current' type-id='type-id-2163' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='751' column='1'/>
         </data-member>
         <member-function access='private'>
-          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1ERKS6_'>
+          <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2ERKS6_'>
             <parameter type-id='type-id-2123' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2166' name='__i' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='767' column='1'/>
             <return type-id='type-id-154'/>
@@ -13955,7 +13955,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__normal_iterator&lt;const VarTable::Entry**&gt;' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC1IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE'>
+          <function-decl name='__normal_iterator&lt;const VarTable::Entry**&gt;' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx17__normal_iteratorIPKPKN8VarTable5EntryESt6vectorIS4_SaIS4_EEEC2IPS4_EERKNS0_IT_NS_11__enable_ifIXsrSt10__are_sameISD_SC_E7__valueES9_E6__typeEEE'>
             <parameter type-id='type-id-2123' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2182' name='__i' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator.h' line='775' column='1'/>
             <return type-id='type-id-154'/>
@@ -14016,7 +14016,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC1ERKS5_'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorIPKN8VarTable5EntryEEC2ERKS5_'>
             <parameter type-id='type-id-2148' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2187'/>
             <return type-id='type-id-154'/>
@@ -14071,7 +14071,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='_Iter_comp_val' mangled-name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC1ES7_'>
+            <function-decl name='_Iter_comp_val' mangled-name='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Iter_comp_valIPFbPKN8VarTable5EntryES5_EEC2ES7_'>
               <parameter type-id='type-id-2139' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-2152' name='__comp' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='137' column='1'/>
               <return type-id='type-id-154'/>
@@ -14121,7 +14121,7 @@
             </function-decl>
           </member-function>
           <member-function access='public'>
-            <function-decl name='_Val_comp_iter' mangled-name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC1ES7_'>
+            <function-decl name='_Val_comp_iter' mangled-name='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx5__ops14_Val_comp_iterIPFbPKN8VarTable5EntryES5_EEC2ES7_'>
               <parameter type-id='type-id-2145' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-2152' name='__comp' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/predefined_ops.h' line='162' column='1'/>
               <return type-id='type-id-154'/>
@@ -14577,7 +14577,7 @@
           <typedef-decl name='value_type' type-id='type-id-2599' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='103' column='1' id='type-id-2786'/>
         </member-type>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIPcEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIPcEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeIPcEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeIPcEEC2Ev'>
             <parameter type-id='type-id-2776' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -14807,7 +14807,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorIPcEC1EPNSt8__detail15_List_node_baseE'>
+          <function-decl name='_List_iterator' mangled-name='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14_List_iteratorIPcEC2EPNSt8__detail15_List_node_baseE'>
             <parameter type-id='type-id-2686' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1050' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='143' column='1'/>
             <return type-id='type-id-154'/>
@@ -14844,7 +14844,7 @@
           <typedef-decl name='size_type' type-id='type-id-1226' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='142' column='1' id='type-id-2844'/>
         </member-type>
         <member-function access='private' static='yes'>
-          <function-decl name='_S_construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_IRKS1_EEENSt9enable_ifIXsrSt6__and_IINS4_18__construct_helperIT_IDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_'>
+          <function-decl name='_S_construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE12_S_constructIS1_JRKS1_EEENSt9enable_ifIXsrSt6__and_IJNS4_18__construct_helperIT_JDpT0_EE4typeEEE5valueEvE4typeERS3_PSB_DpOSC_'>
             <parameter type-id='type-id-2774' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2787' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2506' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -14859,7 +14859,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
-          <function-decl name='construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_IRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
+          <function-decl name='construct&lt;char*, char* const&amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16allocator_traitsISaISt10_List_nodeIPcEEE9constructIS1_JRKS1_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS3_PT_DpOS8_'>
             <parameter type-id='type-id-2774' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2787' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
             <parameter type-id='type-id-2506' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/alloc_traits.h' line='220' column='1'/>
@@ -14941,7 +14941,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIPcEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-2712' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2774' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
             <parameter type-id='type-id-2852' name='__ptr' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
@@ -15151,7 +15151,7 @@
                 <var-decl name='_M_node' type-id='type-id-536' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='327' column='1'/>
               </data-member>
               <member-function access='public' constructor='yes'>
-                <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC1Ev'>
+                <function-decl name='_List_impl' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EE10_List_implC2Ev'>
                   <parameter type-id='type-id-2733' name='this' is-artificial='yes'/>
                   <return type-id='type-id-154'/>
                 </function-decl>
@@ -15216,7 +15216,7 @@
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC1Ev'>
+            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseIPcSaIS1_EEC2Ev'>
               <parameter type-id='type-id-2730' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -15261,14 +15261,14 @@
             <typedef-decl name='_Node' type-id='type-id-2599' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='533' column='1' id='type-id-2754'/>
           </member-type>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIIRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE14_M_create_nodeIJRKS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-2753' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-2506' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1'/>
               <return type-id='type-id-2755'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
-            <function-decl name='_M_insert&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIIRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
+            <function-decl name='_M_insert&lt;char* const&amp;&gt;' mangled-name='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listIPcSaIS1_EE9_M_insertIJRKS1_EEEvSt14_List_iteratorIS1_EDpOT_'>
               <parameter type-id='type-id-2753' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-2910' name='__position' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1'/>
               <parameter type-id='type-id-2506' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='1771' column='1'/>
@@ -15733,13 +15733,13 @@
         <var-decl name='m_phase' type-id='type-id-2988' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='154' column='1'/>
       </data-member>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~OffloadTimer' mangled-name='_ZN12OffloadTimerD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerD1Ev'>
+        <function-decl name='~OffloadTimer' mangled-name='_ZN12OffloadTimerD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerD2Ev'>
           <parameter type-id='type-id-2989' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='OffloadTimer' mangled-name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerC1EP20OffloadHostTimerData16OffloadHostPhase'>
+        <function-decl name='OffloadTimer' mangled-name='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN12OffloadTimerC2EP20OffloadHostTimerData16OffloadHostPhase'>
           <parameter type-id='type-id-2989' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-270' name='data' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='140' column='1'/>
           <parameter type-id='type-id-2988' name='phase' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='140' column='1'/>
@@ -16084,14 +16084,14 @@
       <class-decl name='tuple&lt;void const* const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1195'>
         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1969'/>
         <member-function access='private'>
-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC1EOS4_'>
+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2EOS4_'>
             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1194'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_'>
+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_'>
             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1442' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
             <return type-id='type-id-154'/>
@@ -16101,7 +16101,7 @@
       <class-decl name='_Tuple_impl&lt;0ul, void const* const&amp;&gt;' size-in-bits='64' is-struct='yes' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='338' column='1' id='type-id-1969'>
         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-2058'/>
         <member-function access='public'>
-          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_'>
+          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_'>
             <parameter type-id='type-id-2059' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-2060' name='__in' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1'/>
             <return type-id='type-id-154'/>
@@ -16132,7 +16132,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_'>
+          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_'>
             <parameter type-id='type-id-2075' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1442' name='__h' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1'/>
             <return type-id='type-id-154'/>
@@ -16153,14 +16153,14 @@
       <class-decl name='tuple&lt;long unsigned int const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1133'>
         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1967'/>
         <member-function access='private'>
-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKmEEC1EOS2_'>
+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2EOS2_'>
             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1128'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_'>
+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_'>
             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1217' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
             <return type-id='type-id-154'/>
@@ -16183,7 +16183,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_'>
+          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_'>
             <parameter type-id='type-id-2056' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1217' name='__head' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1'/>
             <return type-id='type-id-154'/>
@@ -16325,7 +16325,7 @@
           <var-decl name='second' type-id='type-id-149' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='134' column='1'/>
         </data-member>
         <member-function access='public'>
-          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_'>
+          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_'>
             <parameter type-id='type-id-2024' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1634' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
             <parameter type-id='type-id-204' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
@@ -16436,7 +16436,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC1ERS4_PS3_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeIP9coibufferEEEC2ERS4_PS3_'>
             <parameter type-id='type-id-3061' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1076' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
             <parameter type-id='type-id-3175' name='__ptr' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
@@ -16470,7 +16470,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11PersistDataEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-3043' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-1404' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
             <parameter type-id='type-id-3176' name='__ptr' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
@@ -16561,7 +16561,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED1Ev'>
+          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI11TargetImageEEED2Ev'>
             <parameter type-id='type-id-3055' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -16634,7 +16634,7 @@
               <var-decl name='_M_bpos' type-id='type-id-1137' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='805' column='1'/>
             </data-member>
             <member-function access='private' constructor='yes'>
-              <function-decl name='reference' mangled-name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceC1ERS0_m'>
+              <function-decl name='reference' mangled-name='_ZNSt6bitsetILm128EE9referenceC2ERS0_m' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceC2ERS0_m'>
                 <parameter type-id='type-id-3077' name='this' is-artificial='yes'/>
                 <parameter type-id='type-id-3070' name='__b' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='811' column='1'/>
                 <parameter type-id='type-id-1137' name='__pos' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='811' column='1'/>
@@ -16648,7 +16648,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' destructor='yes'>
-              <function-decl name='~reference' mangled-name='_ZNSt6bitsetILm128EE9referenceD2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceD1Ev'>
+              <function-decl name='~reference' mangled-name='_ZNSt6bitsetILm128EE9referenceD2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bitset' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6bitsetILm128EE9referenceD2Ev'>
                 <parameter type-id='type-id-3077' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
@@ -16707,7 +16707,7 @@
         <parameter type-id='type-id-2060' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1212' column='1'/>
         <return type-id='type-id-1124'/>
       </function-decl>
-      <function-decl name='get&lt;0ul, long unsigned int const&amp;&gt;' mangled-name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_'>
+      <function-decl name='get&lt;0ul, long unsigned int const&amp;&gt;' mangled-name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_'>
         <parameter type-id='type-id-1128' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1223' column='1'/>
         <return type-id='type-id-920'/>
       </function-decl>
@@ -16791,11 +16791,11 @@
         <parameter type-id='type-id-3100' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1'/>
         <return type-id='type-id-416'/>
       </function-decl>
-      <function-decl name='forward&lt;std::tuple&lt;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE'>
+      <function-decl name='forward&lt;std::tuple&lt;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE'>
         <parameter type-id='type-id-3129' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1'/>
         <return type-id='type-id-2012'/>
       </function-decl>
-      <function-decl name='forward&lt;std::tuple&lt;long unsigned int const&amp;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE'>
+      <function-decl name='forward&lt;std::tuple&lt;long unsigned int const&amp;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE'>
         <parameter type-id='type-id-3132' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1'/>
         <return type-id='type-id-2013'/>
       </function-decl>
@@ -16944,7 +16944,7 @@
         <var-decl name='var_tab_len' type-id='type-id-25' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='480' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
-        <function-decl name='MyoTable' mangled-name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8MyoTableC1EP18MyoiSharedVarEntryi'>
+        <function-decl name='MyoTable' mangled-name='_ZN8MyoTableC2EP18MyoiSharedVarEntryi' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN8MyoTableC2EP18MyoiSharedVarEntryi'>
           <parameter type-id='type-id-3184' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-3183' name='tab' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='476' column='1'/>
           <parameter type-id='type-id-25' name='len' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='476' column='1'/>
@@ -17204,7 +17204,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='MyoWrapper' mangled-name='_ZN10MyoWrapperC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10MyoWrapperC1Ev'>
+        <function-decl name='MyoWrapper' mangled-name='_ZN10MyoWrapperC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10MyoWrapperC2Ev'>
           <parameter type-id='type-id-3205' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -17357,7 +17357,7 @@
           <typedef-decl name='value_type' type-id='type-id-3265' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='103' column='1' id='type-id-3353'/>
         </member-type>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI8MyoTableEEC1Ev'>
+          <function-decl name='allocator' mangled-name='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaISt10_List_nodeI8MyoTableEEC2Ev'>
             <parameter type-id='type-id-3328' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -17617,13 +17617,13 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
-          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED1Ev'>
+          <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEED2Ev'>
             <parameter type-id='type-id-3304' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC1ERS3_PS2_'>
+          <function-decl name='__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__allocated_ptrISaISt10_List_nodeI8MyoTableEEEC2ERS3_PS2_'>
             <parameter type-id='type-id-3304' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-3326' name='__a' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
             <parameter type-id='type-id-3391' name='__ptr' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/allocated_ptr.h' line='52' column='1'/>
@@ -17665,7 +17665,7 @@
             <typedef-decl name='_Node' type-id='type-id-3265' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='533' column='1' id='type-id-3317'/>
           </member-type>
           <member-function access='protected'>
-            <function-decl name='_M_create_node&lt;MyoTable&gt;' mangled-name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIIS1_EEEPSt10_List_nodeIS1_EDpOT_'>
+            <function-decl name='_M_create_node&lt;MyoTable&gt;' mangled-name='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx114listI8MyoTableSaIS1_EE14_M_create_nodeIJS1_EEEPSt10_List_nodeIS1_EDpOT_'>
               <parameter type-id='type-id-3316' name='this' is-artificial='yes'/>
               <parameter type-id='type-id-3216' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='566' column='1'/>
               <return type-id='type-id-3318'/>
@@ -17778,13 +17778,13 @@
             </function-decl>
           </member-function>
           <member-function access='private' destructor='yes'>
-            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED1Ev'>
+            <function-decl name='~_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EED2Ev'>
               <parameter type-id='type-id-3309' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
-            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC1Ev'>
+            <function-decl name='_List_base' mangled-name='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_list.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7__cxx1110_List_baseI8MyoTableSaIS1_EEC2Ev'>
               <parameter type-id='type-id-3309' name='this' is-artificial='yes'/>
               <return type-id='type-id-154'/>
             </function-decl>
@@ -17831,7 +17831,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='construct&lt;MyoTable, MyoTable&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_IS2_EEEvPT_DpOT0_'>
+          <function-decl name='construct&lt;MyoTable, MyoTable&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEE9constructIS2_JS2_EEEvPT_DpOT0_'>
             <parameter type-id='type-id-3229' name='this' is-artificial='yes'/>
             <parameter type-id='type-id-3217' name='__p' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
             <parameter type-id='type-id-3216' name='__args#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='119' column='1'/>
@@ -17862,13 +17862,13 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC1Ev'>
+          <function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEEC2Ev'>
             <parameter type-id='type-id-3229' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED1Ev'>
+          <function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI8MyoTableEED2Ev'>
             <parameter type-id='type-id-3229' name='this' is-artificial='yes'/>
             <return type-id='type-id-154'/>
           </function-decl>
@@ -18629,7 +18629,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -18641,7 +18641,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -18653,7 +18653,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -18665,7 +18665,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -18677,7 +18677,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' destructor='yes'>
-        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
+        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -18727,7 +18727,7 @@
         </function-decl>
       </member-function>
       <member-function access='private'>
-        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOInitTableEC1EPNS1_4NodeE'>
+        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOInitTableEC2EPNS1_4NodeE'>
           <parameter type-id='type-id-3473' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-3418' name='node' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='67' column='1'/>
           <return type-id='type-id-154'/>
@@ -18772,7 +18772,7 @@
         </function-decl>
       </member-function>
       <member-function access='private'>
-        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOFuncTableEC1EPNS1_4NodeE'>
+        <function-decl name='TableList' mangled-name='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI12MYOFuncTableEC2EPNS1_4NodeE'>
           <parameter type-id='type-id-3474' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-3420' name='node' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='67' column='1'/>
           <return type-id='type-id-154'/>
@@ -18880,7 +18880,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='MYOFuncTableList' mangled-name='_ZN16MYOFuncTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN16MYOFuncTableListC1Ev'>
+        <function-decl name='MYOFuncTableList' mangled-name='_ZN16MYOFuncTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN16MYOFuncTableListC2Ev'>
           <parameter type-id='type-id-3479' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -18914,7 +18914,7 @@
         </function-decl>
       </member-function>
       <member-function access='private' constructor='yes'>
-        <function-decl name='MYOVarTableList' mangled-name='_ZN15MYOVarTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN15MYOVarTableListC1Ev'>
+        <function-decl name='MYOVarTableList' mangled-name='_ZN15MYOVarTableListC2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN15MYOVarTableListC2Ev'>
           <parameter type-id='type-id-3481' name='this' is-artificial='yes'/>
           <return type-id='type-id-154'/>
         </function-decl>
@@ -18970,7 +18970,7 @@
         </function-decl>
       </member-function>
       <member-function access='private'>
-        <function-decl name='TableList' mangled-name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI8VarTableEC1EPNS1_4NodeE'>
+        <function-decl name='TableList' mangled-name='_ZN9TableListI8VarTableEC2EPNS1_4NodeE' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN9TableListI8VarTableEC2EPNS1_4NodeE'>
           <parameter type-id='type-id-3482' name='this' is-artificial='yes'/>
           <parameter type-id='type-id-2099' name='node' filepath='../../../gcc/liboffloadmic/runtime/offload_table.h' line='67' column='1'/>
           <return type-id='type-id-154'/>
diff --git a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
index d2e97237d139..8d9f97b626b9 100644
--- a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
+++ b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
@@ -553,11 +553,11 @@
     <elf-symbol name='_ZSt16__introsort_loopIPN16HeapProfileTable8Snapshot5EntryElEvT_S4_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZSt16__introsort_loopIPP17HeapProfileBucketlPFbP16HeapProfileStatsS4_EEvT_S7_T0_T1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray' is-defined='yes'/>
-    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_deletearray_nothrow' is-defined='yes'/>
-    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_delete' is-defined='yes'/>
+    <elf-symbol name='_ZdaPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZdaPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZdlPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZdlPvRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_newarray' is-defined='yes'/>
+    <elf-symbol name='_Znam' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZnamRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_Znwm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZnwmRKSt9nothrow_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -566,53 +566,53 @@
     <elf-symbol name='__libc_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_pvalloc,pvalloc' is-defined='yes'/>
+    <elf-symbol name='__libc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__libc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='valloc,tc_valloc' is-defined='yes'/>
+    <elf-symbol name='__libc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='__posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='calloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_cfree,__libc_cfree' is-defined='yes'/>
+    <elf-symbol name='cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_malloc,__libc_malloc' is-defined='yes'/>
+    <elf-symbol name='malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='malloc_stats' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_size,tc_malloc_size' is-defined='yes'/>
+    <elf-symbol name='malloc_usable_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mallopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mmap64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='mremap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='munmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='tc_posix_memalign,__posix_memalign' is-defined='yes'/>
+    <elf-symbol name='posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='realloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='sbrk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='tc_calloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='calloc,__libc_calloc' is-defined='yes'/>
-    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_cfree' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_cfree,cfree' is-defined='yes'/>
+    <elf-symbol name='tc_delete' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPv' is-defined='yes'/>
     <elf-symbol name='tc_delete_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdlPvRKSt9nothrow_t' is-defined='yes'/>
-    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPv' is-defined='yes'/>
+    <elf-symbol name='tc_deletearray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZdaPvRKSt9nothrow_t' is-defined='yes'/>
     <elf-symbol name='tc_free' type='func-type' binding='global-binding' visibility='default-visibility' alias='free,__libc_free' is-defined='yes'/>
     <elf-symbol name='tc_mallinfo' type='func-type' binding='global-binding' visibility='default-visibility' alias='mallinfo' is-defined='yes'/>
-    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_malloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_malloc,malloc' is-defined='yes'/>
+    <elf-symbol name='tc_malloc_size' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_usable_size,malloc_size' is-defined='yes'/>
     <elf-symbol name='tc_malloc_skip_new_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='tc_malloc_stats' type='func-type' binding='global-binding' visibility='default-visibility' alias='malloc_stats' is-defined='yes'/>
     <elf-symbol name='tc_mallopt' type='func-type' binding='global-binding' visibility='default-visibility' alias='mallopt' is-defined='yes'/>
     <elf-symbol name='tc_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='memalign,__libc_memalign' is-defined='yes'/>
     <elf-symbol name='tc_new' type='func-type' binding='global-binding' visibility='default-visibility' alias='_Znwm' is-defined='yes'/>
     <elf-symbol name='tc_new_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnwmRKSt9nothrow_t' is-defined='yes'/>
-    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_newarray' type='func-type' binding='global-binding' visibility='default-visibility' alias='_Znam' is-defined='yes'/>
     <elf-symbol name='tc_newarray_nothrow' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZnamRKSt9nothrow_t' is-defined='yes'/>
-    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_posix_memalign' type='func-type' binding='global-binding' visibility='default-visibility' alias='__posix_memalign,posix_memalign' is-defined='yes'/>
+    <elf-symbol name='tc_pvalloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='pvalloc,__libc_pvalloc' is-defined='yes'/>
     <elf-symbol name='tc_realloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_realloc,realloc' is-defined='yes'/>
     <elf-symbol name='tc_set_new_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='tc_valloc' type='func-type' binding='global-binding' visibility='default-visibility' alias='__libc_valloc,valloc' is-defined='yes'/>
     <elf-symbol name='tc_version' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='valloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
@@ -15241,7 +15241,7 @@
       <parameter type-id='type-id-1' name='value' filepath='src/tcmalloc.cc' line='1720' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='tc_malloc_size' mangled-name='malloc_usable_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc_usable_size'>
+    <function-decl name='tc_malloc_size' mangled-name='tc_malloc_size' filepath='src/tcmalloc.cc' line='1730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc_size'>
       <parameter type-id='type-id-58' name='ptr' filepath='src/tcmalloc.cc' line='1730' column='1'/>
       <return type-id='type-id-62'/>
     </function-decl>
@@ -15251,17 +15251,17 @@
     <function-decl name='tc_mallinfo' mangled-name='tc_mallinfo' filepath='src/tcmalloc.cc' line='1725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_mallinfo'>
       <return type-id='type-id-1624'/>
     </function-decl>
-    <function-decl name='tc_posix_memalign' mangled-name='posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='posix_memalign'>
+    <function-decl name='tc_posix_memalign' mangled-name='tc_posix_memalign' filepath='src/tcmalloc.cc' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_posix_memalign'>
       <parameter type-id='type-id-151' name='result_ptr' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <parameter type-id='type-id-62' name='align' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <parameter type-id='type-id-62' name='size' filepath='src/tcmalloc.cc' line='1677' column='1'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <function-decl name='tc_pvalloc' mangled-name='__libc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_pvalloc'>
+    <function-decl name='tc_pvalloc' mangled-name='tc_pvalloc' filepath='src/tcmalloc.cc' line='1704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_pvalloc'>
       <parameter type-id='type-id-62'/>
       <return type-id='type-id-58'/>
     </function-decl>
-    <function-decl name='tc_valloc' mangled-name='__libc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__libc_valloc'>
+    <function-decl name='tc_valloc' mangled-name='tc_valloc' filepath='src/tcmalloc.cc' line='1696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_valloc'>
       <parameter type-id='type-id-62'/>
       <return type-id='type-id-58'/>
     </function-decl>
@@ -15275,7 +15275,7 @@
       <parameter type-id='type-id-1666'/>
       <return type-id='type-id-58'/>
     </function-decl>
-    <function-decl name='tc_newarray' mangled-name='_Znam' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Znam'>
+    <function-decl name='tc_newarray' mangled-name='tc_newarray' filepath='src/tcmalloc.cc' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_newarray'>
       <parameter type-id='type-id-62'/>
       <return type-id='type-id-58'/>
     </function-decl>
@@ -15288,7 +15288,7 @@
       <parameter type-id='type-id-62'/>
       <return type-id='type-id-58'/>
     </function-decl>
-    <function-decl name='tc_malloc' mangled-name='malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='malloc'>
+    <function-decl name='tc_malloc' mangled-name='tc_malloc' filepath='src/tcmalloc.cc' line='1573' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_malloc'>
       <parameter type-id='type-id-62'/>
       <return type-id='type-id-58'/>
     </function-decl>
@@ -15305,11 +15305,11 @@
       <parameter type-id='type-id-62'/>
       <return type-id='type-id-58'/>
     </function-decl>
-    <function-decl name='tc_cfree' mangled-name='cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfree'>
+    <function-decl name='tc_cfree' mangled-name='tc_cfree' filepath='src/tcmalloc.cc' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_cfree'>
       <parameter type-id='type-id-58'/>
       <return type-id='type-id-60'/>
     </function-decl>
-    <function-decl name='tc_delete' mangled-name='_ZdlPv' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdlPv'>
+    <function-decl name='tc_delete' mangled-name='tc_delete' filepath='src/tcmalloc.cc' line='1628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_delete'>
       <parameter type-id='type-id-58'/>
       <return type-id='type-id-60'/>
     </function-decl>
@@ -15318,11 +15318,11 @@
       <parameter type-id='type-id-1666'/>
       <return type-id='type-id-60'/>
     </function-decl>
-    <function-decl name='tc_deletearray' mangled-name='_ZdaPv' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPv'>
+    <function-decl name='tc_deletearray' mangled-name='tc_deletearray' filepath='src/tcmalloc.cc' line='1659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray'>
       <parameter type-id='type-id-58'/>
       <return type-id='type-id-60'/>
     </function-decl>
-    <function-decl name='tc_deletearray_nothrow' mangled-name='_ZdaPvRKSt9nothrow_t' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZdaPvRKSt9nothrow_t'>
+    <function-decl name='tc_deletearray_nothrow' mangled-name='tc_deletearray_nothrow' filepath='src/tcmalloc.cc' line='1664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tc_deletearray_nothrow'>
       <parameter type-id='type-id-58' name='p' filepath='src/tcmalloc.cc' line='1636' column='1'/>
       <parameter type-id='type-id-1666'/>
       <return type-id='type-id-60'/>
diff --git a/tests/data/test-read-dwarf/test2.so.abi b/tests/data/test-read-dwarf/test2.so.abi
index 98dd9a607266..e3cee34c5826 100644
--- a/tests/data/test-read-dwarf/test2.so.abi
+++ b/tests/data/test-read-dwarf/test2.so.abi
@@ -6,10 +6,10 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN1a16build_first_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN1a17build_second_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -35,7 +35,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC1Ev'>
+        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC2Ev'>
           <parameter type-id='type-id-7' is-artificial='yes'/>
           <return type-id='type-id-5'/>
         </function-decl>
@@ -63,7 +63,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC1Ev'>
+        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC2Ev'>
           <parameter type-id='type-id-9' is-artificial='yes'/>
           <return type-id='type-id-5'/>
         </function-decl>
diff --git a/tests/data/test-read-dwarf/test2.so.hash.abi b/tests/data/test-read-dwarf/test2.so.hash.abi
index bb814f733f1d..5e1ae6d13ba7 100644
--- a/tests/data/test-read-dwarf/test2.so.hash.abi
+++ b/tests/data/test-read-dwarf/test2.so.hash.abi
@@ -6,10 +6,10 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC2Ev' is-defined='yes'/>
-    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10first_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10first_typeC1Ev' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN11second_typeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN11second_typeC1Ev' is-defined='yes'/>
     <elf-symbol name='_ZN1a16build_first_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN1a17build_second_typeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -35,7 +35,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC1Ev'>
+        <function-decl name='first_type' mangled-name='_ZN10first_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10first_typeC2Ev'>
           <parameter type-id='82c95d70' is-artificial='yes'/>
           <return type-id='48b5725f'/>
         </function-decl>
@@ -63,7 +63,7 @@
         </function-decl>
       </member-function>
       <member-function access='public' constructor='yes'>
-        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC1Ev'>
+        <function-decl name='second_type' mangled-name='_ZN11second_typeC2Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test2.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN11second_typeC2Ev'>
           <parameter type-id='fc0abc74' is-artificial='yes'/>
           <return type-id='48b5725f'/>
         </function-decl>
diff --git a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
index cd8fd33f43cf..8283fa8bdb28 100644
--- a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
+++ b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
@@ -7,32 +7,32 @@
   </elf-needed>
   <elf-function-symbols>
     <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv116__enum_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__array_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv117__class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__pbase_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__pbase_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv117__pbase_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv120__function_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__si_class_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__si_class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv120__si_class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3' is-defined='yes'/>
-    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev' version='CXXABI_1.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3' is-defined='yes'/>
@@ -736,14 +736,14 @@
     <elf-symbol name='_ZNKSt9type_info14__is_pointer_pEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNKSt9type_info15__is_function_pEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcEC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIcEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIcEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcEC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcEC1ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIcEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIcEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIwEC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwEC2ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIwEC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSaIwEC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSaIwEC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwEC1ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSaIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSaIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -837,32 +837,32 @@
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -949,8 +949,8 @@
     <elf-symbol name='_ZNSo5writeEPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo6sentryC1ERSo' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo6sentryC2ERSo' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSo6sentryC1ERSo@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSo6sentryD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSo6sentryD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSo6sentryD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSo6sentryD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSo6sentryD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSo6sentryD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSo8_M_writeEPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo9_M_insertIPKvEERSoT_' version='GLIBCXX_3.4.9' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSo9_M_insertIbEERSoT_' version='GLIBCXX_3.4.9' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -985,8 +985,8 @@
     <elf-symbol name='_ZNSolsEx' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSolsEy' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs10_S_compareEmm' version='GLIBCXX_3.4.16' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSs12_Alloc_hiderC1EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSs12_Alloc_hiderC1EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSs12_M_leak_hardEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs12_S_constructEmcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1075,33 +1075,33 @@
     <elf-symbol name='_ZNSs9_M_mutateEmmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSs9push_backEc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1EOSs' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2ERKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2ERKSsmm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1ERKSsmmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1ESt16initializer_listIcERKSaIcE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1EmcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC1IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC1IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC1IPcEET_S1_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2EOSs' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EOSs@@GLIBCXX_3.4.14' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2EPKcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2EPKcmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2ERKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2ERKSsmm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSsmm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2ERKSsmmRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2ESt16initializer_listIcERKSaIcE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2EmcRKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSsC2IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSsC2IPKcEET_S2_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsC2IPcEET_S1_RKSaIcE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSsD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSsD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSsD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSsaSEOSs' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsaSEPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSsaSERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1130,45 +1130,45 @@
     <elf-symbol name='_ZNSt10istrstreamD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10money_base20_S_construct_patternEccc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10moneypunctIwLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt10moneypunctIwLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt10moneypunctIwLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstream3strEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstream6freezeEb' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1179,25 +1179,25 @@
     <elf-symbol name='_ZNSt10ostrstreamD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt10ostrstreamD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11__timepunctIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11__timepunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11__timepunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIcE2eqERKcS2_' version='GLIBCXX_3.4.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIcE2eqERKcS2_' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11char_traitsIwE2eqERKwS2_' version='GLIBCXX_3.4.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4' is-defined='yes'/>
@@ -1205,16 +1205,16 @@
     <elf-symbol name='_ZNSt11logic_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt11logic_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11logic_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11logic_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11logic_errorD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11logic_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11logic_errorD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11range_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11range_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11range_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11range_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt11regex_errorD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11regex_errorD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt11regex_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11regex_errorD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt11regex_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcE2fdEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcE4fileEv' version='GLIBCXX_3.4.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1229,16 +1229,16 @@
     <elf-symbol name='_ZNSt12__basic_fileIcE9showmanycEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__basic_fileIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12__basic_fileIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__basic_fileIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12__basic_fileIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12bad_weak_ptrD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12bad_weak_ptrD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12bad_weak_ptrD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12ctype_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12ctype_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12ctype_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12ctype_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12ctype_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1257,11 +1257,11 @@
     <elf-symbol name='_ZNSt12length_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12length_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12length_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12length_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12out_of_rangeD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12out_of_rangeD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12out_of_rangeD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf3strEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf6freezeEb' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf6setbufEPcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1273,25 +1273,25 @@
     <elf-symbol name='_ZNSt12strstreambuf8overflowEi' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf9pbackfailEi' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambuf9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC1EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC1EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambufC1El' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufC2EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPKal' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPKcl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPKhl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPalS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPclS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufC2EPhlS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambufC2El' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufC1El@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12strstreambufD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt12strstreambufD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt12strstreambufD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt12system_errorD0Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12system_errorD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt12system_errorD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
@@ -1304,8 +1304,8 @@
     <elf-symbol name='_ZNSt13__future_base12_Result_baseD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13__future_base12_Result_baseD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD0Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD1Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD2Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD1Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13__future_base19_Async_state_commonD2Ev' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17' is-defined='yes'/>
     <elf-symbol name='_ZNSt13bad_exceptionD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13bad_exceptionD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13bad_exceptionD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1360,8 +1360,8 @@
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1420,8 +1420,8 @@
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv' version='GLIBCXX_3.4.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1456,8 +1456,8 @@
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1493,8 +1493,8 @@
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13runtime_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt13runtime_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13runtime_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt13runtime_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt13runtime_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13runtime_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt13runtime_errorD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1557,36 +1557,36 @@
     <elf-symbol name='_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14collate_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14collate_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14collate_bynameIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14error_categoryC1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14error_categoryC2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14error_categoryC1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14error_categoryC2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt14error_categoryD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14error_categoryD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14error_categoryD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14error_categoryD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt14overflow_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt14overflow_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt14overflow_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14overflow_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt14overflow_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14overflow_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt14overflow_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base10_M_reverseEv' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base11_M_transferEPS_S0_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base4hookEPS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1597,12 +1597,12 @@
     <elf-symbol name='_ZNSt15_List_node_base8transferEPS_S0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15_List_node_base9_M_unhookEv' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptr4swapERS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1ERKS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2ERKS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrD1Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrD2Ev' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrD1Ev@@CXXABI_1.3.3' is-defined='yes'/>
     <elf-symbol name='_ZNSt15__exception_ptr13exception_ptraSERKS0_' version='CXXABI_1.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1646,8 +1646,8 @@
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1683,9 +1683,9 @@
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1703,9 +1703,9 @@
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1721,59 +1721,59 @@
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15messages_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15messages_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15messages_bynameIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15numpunct_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIwEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15numpunct_bynameIwEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15numpunct_bynameIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15underflow_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt15underflow_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15underflow_errorC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt15underflow_errorC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt15underflow_errorD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15underflow_errorD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt15underflow_errorD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1781,61 +1781,61 @@
     <elf-symbol name='_ZNSt16__numpunct_cacheIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16__numpunct_cacheIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16__numpunct_cacheIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16__numpunct_cacheIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16invalid_argumentC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt16invalid_argumentC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16invalid_argumentD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16invalid_argumentD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16invalid_argumentD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16invalid_argumentD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16invalid_argumentD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt16nested_exceptionD0Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16nested_exceptionD1Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5' is-defined='yes'/>
-    <elf-symbol name='_ZNSt16nested_exceptionD2Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16nested_exceptionD1Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt16nested_exceptionD2Ev' version='CXXABI_1.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17__timepunct_cacheIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17__timepunct_cacheIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17bad_function_callD0Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17bad_function_callD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17bad_function_callD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17bad_function_callD1Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17bad_function_callD2Ev' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt17moneypunct_bynameIwLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIwLb0EEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18__moneypunct_cacheIwLb0EEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
@@ -1869,8 +1869,8 @@
     <elf-symbol name='_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18condition_variableC1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt18condition_variableC2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18condition_variableD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt18condition_variableD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18condition_variableD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt18condition_variableD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1909,24 +1909,24 @@
     <elf-symbol name='_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv' version='GLIBCXX_3.4' is-default-version='no' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5' is-defined='yes'/>
     <elf-symbol name='_ZNSt22condition_variable_anyC1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt22condition_variable_anyC2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt22condition_variable_anyD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
-    <elf-symbol name='_ZNSt22condition_variable_anyD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt22condition_variable_anyD1Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt22condition_variable_anyD2Ev' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcE13classic_tableEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcEC1EP15__locale_structPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcEC1EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcEC1EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcEC2EP15__locale_structPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcEC2EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcEC2EPKtbm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIwE19_M_initialize_ctypeEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt5ctypeIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt5ctypeIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt5ctypeIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6__norm15_List_node_base10_M_reverseEv' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6__norm15_List_node_base4hookEPS0_' version='GLIBCXX_3.4.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1947,37 +1947,37 @@
     <elf-symbol name='_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC1EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplC1ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplC1ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC2EPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplC2ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplC2ERKS0_m' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5_ImplC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5_ImplD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5_ImplD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet13_S_get_c_nameEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet15_S_get_c_localeEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale5facetD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5facetD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6locale5facetD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5facetD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6locale5facetD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale6globalERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6locale7classicEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2EPKc@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC1ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC1ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC1ERKS_S1_i' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeC2ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2EPKc' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1EPKc@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2EPNS_5_ImplE' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2ERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1ERKS_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeC2ERKS_PKci' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC2ERKS_S1_i' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt6localeD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt6localeD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt6localeD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt6localeaSERKS_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE' version='GLIBCXX_3.4.11' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt6thread20hardware_concurrencyEv' version='GLIBCXX_3.4.17' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1995,24 +1995,24 @@
     <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7collateIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7collateIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7collateIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7collateIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -2021,16 +2021,16 @@
     <elf-symbol name='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8__detail15_List_node_base10_M_reverseEv' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8__detail15_List_node_base4swapERS0_S1_' version='GLIBCXX_3.4.15' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2044,23 +2044,23 @@
     <elf-symbol name='_ZNSt8ios_base17_M_call_callbacksENS_5eventE' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base20_M_dispose_callbacksEv' version='GLIBCXX_3.4.6' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base4InitD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base4InitD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base5imbueERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base6xallocEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base7_M_initEv' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureC1ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureC2ERKSs' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_base7failureD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_base7failureD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_base7failureD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_baseC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_baseC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8ios_baseD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_baseD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8ios_baseD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_baseD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8ios_baseD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
@@ -2068,33 +2068,33 @@
     <elf-symbol name='_ZNSt8messagesIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8messagesIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC1EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8messagesIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8messagesIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIcEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIcED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC1EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC2EP15__locale_structm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8numpunctIwED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8numpunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8numpunctIwED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2108,19 +2108,19 @@
     <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImEC1ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImEC1ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt8valarrayImEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImEC2ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImEC2ERKS0_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8valarrayImEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt8valarrayImED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt8valarrayImED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt8valarrayImEixEm' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11' is-defined='yes'/>
     <elf-symbol name='_ZNSt9__atomic011atomic_flag5clearESt12memory_order' version='GLIBCXX_3.4.14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11' is-defined='yes'/>
@@ -2148,12 +2148,12 @@
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
@@ -2173,20 +2173,20 @@
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9exceptionD0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt9exceptionD2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9exceptionD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionD1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9exceptionD2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZNSt9exceptionD1Ev@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4' is-defined='yes'/>
-    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' version='GLIBCXX_3.4' is-default-version='yes' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4' is-defined='yes'/>
@@ -3697,7 +3697,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__array_type_info' mangled-name='_ZN10__cxxabiv117__array_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/array_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__array_type_info' mangled-name='_ZN10__cxxabiv117__array_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/array_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-2' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -3885,7 +3885,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__class_type_info' mangled-name='_ZN10__cxxabiv117__class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__class_type_info' mangled-name='_ZN10__cxxabiv117__class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-27' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -4019,7 +4019,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-38' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -4229,7 +4229,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__class_type_info' mangled-name='_ZN10__cxxabiv117__class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__class_type_info' mangled-name='_ZN10__cxxabiv117__class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-27' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -4969,13 +4969,13 @@
             </function-decl>
           </member-function>
           <member-function access='private' constructor='yes'>
-            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3'>
+            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3'>
               <parameter type-id='type-id-135' is-artificial='yes'/>
               <return type-id='type-id-5'/>
             </function-decl>
           </member-function>
           <member-function access='private' constructor='yes'>
-            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3'>
+            <function-decl name='exception_ptr' mangled-name='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/exception_ptr.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3'>
               <parameter type-id='type-id-135' is-artificial='yes'/>
               <parameter type-id='type-id-124'/>
               <return type-id='type-id-5'/>
@@ -5152,7 +5152,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__enum_type_info' mangled-name='_ZN10__cxxabiv116__enum_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/enum_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__enum_type_info' mangled-name='_ZN10__cxxabiv116__enum_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/enum_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-139' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5190,7 +5190,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__function_type_info' mangled-name='_ZN10__cxxabiv120__function_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/function_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__function_type_info' mangled-name='_ZN10__cxxabiv120__function_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/function_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-141' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5232,7 +5232,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__fundamental_type_info' mangled-name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/fundamental_type_info.cc' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__fundamental_type_info' mangled-name='_ZN10__cxxabiv123__fundamental_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/fundamental_type_info.cc' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-145' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5354,7 +5354,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~nested_exception' mangled-name='_ZNSt16nested_exceptionD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/nested_exception.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5'>
+          <function-decl name='~nested_exception' mangled-name='_ZNSt16nested_exceptionD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/nested_exception.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5'>
             <parameter type-id='type-id-155' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5579,7 +5579,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__pointer_type_info' mangled-name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/pointer_type_info.cc' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__pointer_type_info' mangled-name='_ZN10__cxxabiv119__pointer_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/pointer_type_info.cc' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-171' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -5883,7 +5883,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__vmi_class_type_info' mangled-name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/vmi_class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3'>
+          <function-decl name='~__vmi_class_type_info' mangled-name='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev' filepath='../../.././libstdc++-v3/libsupc++/vmi_class_type_info.cc' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3'>
             <parameter type-id='type-id-194' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -6599,7 +6599,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~exception' mangled-name='_ZNSt9exceptionD2Ev' filepath='../../.././libstdc++-v3/libsupc++/eh_exception.cc' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9exceptionD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-38' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -6705,7 +6705,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' constructor='yes'>
-          <function-decl name='error_category' mangled-name='_ZNSt14error_categoryC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/system_error' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15'>
+          <function-decl name='error_category' mangled-name='_ZNSt14error_categoryC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/system_error' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-386' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -7271,7 +7271,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_Alloc_hider' mangled-name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4'>
+              <function-decl name='_Alloc_hider' mangled-name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-435' is-artificial='yes'/>
                 <parameter type-id='type-id-98'/>
                 <parameter type-id='type-id-436'/>
@@ -8061,14 +8061,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1ERKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2ERKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-436'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~basic_string' mangled-name='_ZNSsD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~basic_string' mangled-name='_ZNSsD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -8494,7 +8494,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt; &gt;' mangled-name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt; &gt;' mangled-name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-293'/>
             <parameter type-id='type-id-293'/>
@@ -8512,7 +8512,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSsmm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1ERKSsmm@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSsmm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2ERKSsmm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-452'/>
             <parameter type-id='type-id-428'/>
@@ -8557,7 +8557,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-436'/>
@@ -8565,7 +8565,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcmRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcmRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-428'/>
@@ -8690,7 +8690,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;const char*&gt;' mangled-name='_ZNSsC2IPKcEET_S2_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;const char*&gt;' mangled-name='_ZNSsC2IPKcEET_S2_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-4'/>
@@ -9095,7 +9095,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-494'/>
             <return type-id='type-id-5'/>
@@ -9205,7 +9205,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -9621,7 +9621,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-477'/>
             <return type-id='type-id-5'/>
@@ -10054,7 +10054,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;wchar_t*, std::basic_string&lt;wchar_t&gt; &gt; &gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;wchar_t*, std::basic_string&lt;wchar_t&gt; &gt; &gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-296'/>
             <parameter type-id='type-id-296'/>
@@ -10089,7 +10089,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;wchar_t*&gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;wchar_t*&gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-368'/>
             <parameter type-id='type-id-368'/>
@@ -10098,7 +10098,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-492'/>
             <parameter type-id='type-id-469'/>
@@ -10259,7 +10259,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-395'/>
             <parameter type-id='type-id-477'/>
@@ -10429,7 +10429,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaIcEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIcEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='allocator' mangled-name='_ZNSaIcEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIcEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-523' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -10506,7 +10506,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaIwEC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIwEC1ERKS_@@GLIBCXX_3.4'>
+          <function-decl name='allocator' mangled-name='_ZNSaIwEC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIwEC2ERKS_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-527' is-artificial='yes'/>
             <parameter type-id='type-id-477'/>
             <return type-id='type-id-5'/>
@@ -11462,7 +11462,7 @@
               </function-decl>
             </member-function>
             <member-function access='protected' destructor='yes' vtable-offset='-1'>
-              <function-decl name='~_Async_state_common' mangled-name='_ZNSt13__future_base19_Async_state_commonD2Ev' filepath='../../.././libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17'>
+              <function-decl name='~_Async_state_common' mangled-name='_ZNSt13__future_base19_Async_state_commonD2Ev' filepath='../../.././libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17'>
                 <parameter type-id='type-id-746' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
@@ -12472,7 +12472,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~condition_variable' mangled-name='_ZNSt18condition_variableD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11'>
+          <function-decl name='~condition_variable' mangled-name='_ZNSt18condition_variableD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11'>
             <parameter type-id='type-id-861' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -13903,7 +13903,7 @@
               </function-decl>
             </member-function>
             <member-function access='public' constructor='yes'>
-              <function-decl name='_Alloc_hider' mangled-name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4'>
+              <function-decl name='_Alloc_hider' mangled-name='_ZNSs12_Alloc_hiderC2EPcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-435' is-artificial='yes'/>
                 <parameter type-id='type-id-98'/>
                 <parameter type-id='type-id-436'/>
@@ -14693,14 +14693,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1ERKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2ERKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-436'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~basic_string' mangled-name='_ZNSsD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~basic_string' mangled-name='_ZNSsD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -15126,7 +15126,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt; &gt;' mangled-name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt; &gt;' mangled-name='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-293'/>
             <parameter type-id='type-id-293'/>
@@ -15144,7 +15144,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSsmm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1ERKSsmm@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2ERKSsmm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2ERKSsmm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-452'/>
             <parameter type-id='type-id-428'/>
@@ -15189,7 +15189,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-436'/>
@@ -15197,7 +15197,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcmRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSsC2EPKcmRKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-428'/>
@@ -15322,7 +15322,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;const char*&gt;' mangled-name='_ZNSsC2IPKcEET_S2_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;const char*&gt;' mangled-name='_ZNSsC2IPKcEET_S2_RKSaIcE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-451' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-4'/>
@@ -15725,7 +15725,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-494'/>
             <return type-id='type-id-5'/>
@@ -15835,7 +15835,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -16251,7 +16251,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-477'/>
             <return type-id='type-id-5'/>
@@ -16684,7 +16684,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;wchar_t*, std::basic_string&lt;wchar_t&gt; &gt; &gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;__gnu_cxx::__normal_iterator&lt;wchar_t*, std::basic_string&lt;wchar_t&gt; &gt; &gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-296'/>
             <parameter type-id='type-id-296'/>
@@ -16719,7 +16719,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string&lt;wchar_t*&gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string&lt;wchar_t*&gt;' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-368'/>
             <parameter type-id='type-id-368'/>
@@ -16728,7 +16728,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-492'/>
             <parameter type-id='type-id-469'/>
@@ -16889,7 +16889,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4'>
+          <function-decl name='basic_string' mangled-name='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-491' is-artificial='yes'/>
             <parameter type-id='type-id-395'/>
             <parameter type-id='type-id-477'/>
@@ -16945,7 +16945,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaIwEC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIwEC1ERKS_@@GLIBCXX_3.4'>
+          <function-decl name='allocator' mangled-name='_ZNSaIwEC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIwEC2ERKS_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-527' is-artificial='yes'/>
             <parameter type-id='type-id-477'/>
             <return type-id='type-id-5'/>
@@ -17001,7 +17001,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='allocator' mangled-name='_ZNSaIcEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIcEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='allocator' mangled-name='_ZNSaIcEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/allocator.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSaIcEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-523' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -17060,7 +17060,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' constructor='yes'>
-              <function-decl name='failure' mangled-name='_ZNSt8ios_base7failureC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4'>
+              <function-decl name='failure' mangled-name='_ZNSt8ios_base7failureC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1149' is-artificial='yes'/>
                 <parameter type-id='type-id-357'/>
                 <return type-id='type-id-5'/>
@@ -17081,7 +17081,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' destructor='yes' vtable-offset='-1'>
-              <function-decl name='~failure' mangled-name='_ZNSt8ios_base7failureD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~failure' mangled-name='_ZNSt8ios_base7failureD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios_failure.cc' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1149' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
@@ -17142,13 +17142,13 @@
               </function-decl>
             </member-function>
             <member-function access='private' constructor='yes'>
-              <function-decl name='Init' mangled-name='_ZNSt8ios_base4InitC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4'>
+              <function-decl name='Init' mangled-name='_ZNSt8ios_base4InitC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1159' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
               </function-decl>
             </member-function>
             <member-function access='private' destructor='yes'>
-              <function-decl name='~Init' mangled-name='_ZNSt8ios_base4InitD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~Init' mangled-name='_ZNSt8ios_base4InitD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ios_base.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1159' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
@@ -17398,7 +17398,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ios_base' mangled-name='_ZNSt8ios_baseD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ios_base' mangled-name='_ZNSt8ios_baseD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ios.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1171' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -18182,7 +18182,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~basic_streambuf' mangled-name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~basic_streambuf' mangled-name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1113' is-artificial='yes'/>
             <parameter type-id='type-id-6'/>
             <return type-id='type-id-5'/>
@@ -18454,7 +18454,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1095' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -18509,7 +18509,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_ios.h' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1095' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -18915,7 +18915,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected'>
-          <function-decl name='basic_streambuf' mangled-name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_streambuf' mangled-name='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/streambuf' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1117' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -19171,7 +19171,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' constructor='yes'>
-              <function-decl name='sentry' mangled-name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/istream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4'>
+              <function-decl name='sentry' mangled-name='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/istream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1112' is-artificial='yes'/>
                 <parameter type-id='type-id-1107'/>
                 <parameter type-id='type-id-10'/>
@@ -20215,7 +20215,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_filebuf' mangled-name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/fstream.tcc' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4'>
+          <function-decl name='basic_filebuf' mangled-name='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/fstream.tcc' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1313' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
@@ -21404,7 +21404,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1332' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -21664,7 +21664,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1358' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -21849,7 +21849,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1377' is-artificial='yes'/>
             <parameter type-id='type-id-1374'/>
             <parameter type-id='type-id-10'/>
@@ -21872,7 +21872,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1377' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -22020,14 +22020,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1389' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1389' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-96'/>
@@ -22063,7 +22063,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1389' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -22350,7 +22350,7 @@
               </function-decl>
             </member-function>
             <member-function access='protected' destructor='yes' vtable-offset='-1'>
-              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1399' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
@@ -22434,14 +22434,14 @@
               </function-decl>
             </member-function>
             <member-function access='private' destructor='yes'>
-              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1406' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
               </function-decl>
             </member-function>
             <member-function access='private' constructor='yes'>
-              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4'>
+              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1406' is-artificial='yes'/>
                 <parameter type-id='type-id-1407'/>
                 <parameter type-id='type-id-96'/>
@@ -22825,14 +22825,14 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-1220'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-1406'/>
             <return type-id='type-id-5'/>
@@ -22865,7 +22865,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -22889,7 +22889,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPKc@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPKc@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <return type-id='type-id-5'/>
@@ -22914,7 +22914,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-1220'/>
             <parameter type-id='type-id-4'/>
@@ -22953,7 +22953,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1414' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -23698,7 +23698,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1415' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -23899,7 +23899,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1415' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -24208,7 +24208,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1427' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -24817,7 +24817,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' destructor='yes'>
-              <function-decl name='~sentry' mangled-name='_ZNSo6sentryD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSo6sentryD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~sentry' mangled-name='_ZNSo6sentryD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSo6sentryD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1557' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
@@ -25194,7 +25194,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' constructor='yes'>
-              <function-decl name='sentry' mangled-name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4'>
+              <function-decl name='sentry' mangled-name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1577' is-artificial='yes'/>
                 <parameter type-id='type-id-1578'/>
                 <return type-id='type-id-5'/>
@@ -26002,7 +26002,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1421' is-artificial='yes'/>
             <parameter type-id='type-id-1671'/>
             <parameter type-id='type-id-96'/>
@@ -26010,7 +26010,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1421' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -26164,14 +26164,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-1676'/>
             <parameter type-id='type-id-96'/>
@@ -26179,7 +26179,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -26265,7 +26265,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -26386,7 +26386,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1416' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -26465,7 +26465,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1428' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -26520,7 +26520,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1428' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -26731,14 +26731,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1436' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1436' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -26932,7 +26932,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1419' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -26987,7 +26987,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1431' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -27109,7 +27109,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1420' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -27373,7 +27373,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1417' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -27388,7 +27388,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1417' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -27465,7 +27465,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1417' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -27597,7 +27597,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1418' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -27791,7 +27791,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1429' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -27806,7 +27806,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1429' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -28000,14 +28000,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-1750'/>
             <parameter type-id='type-id-96'/>
@@ -28015,7 +28015,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -28092,7 +28092,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -28203,14 +28203,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1413' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1413' is-artificial='yes'/>
             <parameter type-id='type-id-1757'/>
             <parameter type-id='type-id-96'/>
@@ -28357,14 +28357,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-1764'/>
             <parameter type-id='type-id-96'/>
@@ -28372,7 +28372,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-96'/>
@@ -28424,7 +28424,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -28975,7 +28975,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1423' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -29366,7 +29366,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1834' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -29394,7 +29394,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1834' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -29468,7 +29468,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1837' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -29496,7 +29496,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1837' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -29762,7 +29762,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1849' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -29880,7 +29880,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1854' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -30053,7 +30053,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1858' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -30074,7 +30074,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1858' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -30247,7 +30247,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1861' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -30744,7 +30744,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~condition_variable_any' mangled-name='_ZNSt22condition_variable_anyD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11'>
+          <function-decl name='~condition_variable_any' mangled-name='_ZNSt22condition_variable_anyD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11'>
             <parameter type-id='type-id-1918' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -30788,7 +30788,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~condition_variable' mangled-name='_ZNSt18condition_variableD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11'>
+          <function-decl name='~condition_variable' mangled-name='_ZNSt18condition_variableD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11'>
             <parameter type-id='type-id-861' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -32844,7 +32844,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~bad_function_call' mangled-name='_ZNSt17bad_function_callD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/functional' line='1633' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15'>
+          <function-decl name='~bad_function_call' mangled-name='_ZNSt17bad_function_callD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/functional' line='1633' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-2218' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -33902,7 +33902,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2294' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -33930,7 +33930,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2296' is-artificial='yes'/>
             <parameter type-id='type-id-357'/>
             <return type-id='type-id-5'/>
@@ -36168,7 +36168,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~regex_error' mangled-name='_ZNSt11regex_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++11/regex.cc' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15'>
+          <function-decl name='~regex_error' mangled-name='_ZNSt11regex_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++11/regex.cc' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-2500' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -37544,7 +37544,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1358' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -37721,7 +37721,7 @@
               </function-decl>
             </member-function>
             <member-function access='protected' destructor='yes' vtable-offset='-1'>
-              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1399' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
@@ -37805,14 +37805,14 @@
               </function-decl>
             </member-function>
             <member-function access='private' destructor='yes'>
-              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1406' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
               </function-decl>
             </member-function>
             <member-function access='private' constructor='yes'>
-              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4'>
+              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1406' is-artificial='yes'/>
                 <parameter type-id='type-id-1407'/>
                 <parameter type-id='type-id-96'/>
@@ -38196,14 +38196,14 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-1220'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-1406'/>
             <return type-id='type-id-5'/>
@@ -38236,7 +38236,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -38260,7 +38260,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPKc@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPKc@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <return type-id='type-id-5'/>
@@ -38285,7 +38285,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4'>
+          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1443' is-artificial='yes'/>
             <parameter type-id='type-id-1220'/>
             <parameter type-id='type-id-4'/>
@@ -38678,7 +38678,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' destructor='yes'>
-              <function-decl name='~sentry' mangled-name='_ZNSo6sentryD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSo6sentryD1Ev@@GLIBCXX_3.4'>
+              <function-decl name='~sentry' mangled-name='_ZNSo6sentryD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSo6sentryD2Ev@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1557' is-artificial='yes'/>
                 <parameter type-id='type-id-6' is-artificial='yes'/>
                 <return type-id='type-id-5'/>
@@ -39171,7 +39171,7 @@
               </function-decl>
             </member-function>
             <member-function access='private' constructor='yes'>
-              <function-decl name='sentry' mangled-name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4'>
+              <function-decl name='sentry' mangled-name='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/ostream.tcc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4'>
                 <parameter type-id='type-id-1577' is-artificial='yes'/>
                 <parameter type-id='type-id-1578'/>
                 <return type-id='type-id-5'/>
@@ -39567,14 +39567,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1389' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1389' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-96'/>
@@ -39610,7 +39610,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1389' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -39864,7 +39864,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4'>
+          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2824' is-artificial='yes'/>
             <parameter type-id='type-id-1151'/>
             <return type-id='type-id-5'/>
@@ -40019,7 +40019,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4'>
+          <function-decl name='basic_stringbuf' mangled-name='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2825' is-artificial='yes'/>
             <parameter type-id='type-id-1151'/>
             <return type-id='type-id-5'/>
@@ -41369,7 +41369,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4'>
+          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1377' is-artificial='yes'/>
             <parameter type-id='type-id-1374'/>
             <parameter type-id='type-id-10'/>
@@ -41392,7 +41392,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1377' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -43569,7 +43569,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='collate_byname' mangled-name='_ZNSt14collate_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='770' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='collate_byname' mangled-name='_ZNSt14collate_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='770' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3242' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -43591,7 +43591,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate_byname' mangled-name='_ZNSt14collate_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate_byname' mangled-name='_ZNSt14collate_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3242' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -43609,7 +43609,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3240' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -43649,7 +43649,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3245' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -43689,7 +43689,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3251' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -43711,7 +43711,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3251' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -43754,7 +43754,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3249' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -43797,7 +43797,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3247' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -43815,7 +43815,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3255' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -43855,7 +43855,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3253' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -43877,7 +43877,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~time_get_byname' mangled-name='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3253' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44203,7 +44203,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1428' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -44258,7 +44258,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1428' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44390,7 +44390,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1416' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44471,14 +44471,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1413' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1413' is-artificial='yes'/>
             <parameter type-id='type-id-1757'/>
             <parameter type-id='type-id-96'/>
@@ -44623,14 +44623,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-1764'/>
             <parameter type-id='type-id-96'/>
@@ -44638,7 +44638,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-96'/>
@@ -44690,7 +44690,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1425' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44780,7 +44780,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1849' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -44896,7 +44896,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1854' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -44972,7 +44972,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1418' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -45164,14 +45164,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-1750'/>
             <parameter type-id='type-id-96'/>
@@ -45179,7 +45179,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -45256,7 +45256,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1430' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -45382,7 +45382,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1837' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -45410,7 +45410,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1837' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -45612,7 +45612,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1417' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -45627,7 +45627,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1417' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -45704,7 +45704,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1417' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -45830,7 +45830,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1834' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -45858,7 +45858,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1834' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -45887,7 +45887,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1420' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -46068,7 +46068,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1419' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -46153,7 +46153,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1429' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -46168,7 +46168,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1429' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -46472,7 +46472,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1421' is-artificial='yes'/>
             <parameter type-id='type-id-1671'/>
             <parameter type-id='type-id-96'/>
@@ -46480,7 +46480,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1421' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -46737,7 +46737,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1858' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -46758,7 +46758,7 @@
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1858' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -46943,7 +46943,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1423' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -46984,7 +46984,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1431' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -47505,14 +47505,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-1676'/>
             <parameter type-id='type-id-96'/>
@@ -47520,7 +47520,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -47606,7 +47606,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1433' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -47777,7 +47777,7 @@
           </function-decl>
         </member-function>
         <member-function access='public'>
-          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1861' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -48154,14 +48154,14 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1436' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
+          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1436' is-artificial='yes'/>
             <parameter type-id='type-id-1340'/>
             <parameter type-id='type-id-4'/>
@@ -48292,7 +48292,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1414' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -49033,7 +49033,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
+          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1415' is-artificial='yes'/>
             <parameter type-id='type-id-96'/>
             <return type-id='type-id-5'/>
@@ -49234,7 +49234,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1415' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -49541,7 +49541,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1427' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -51450,7 +51450,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2294' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -51476,7 +51476,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-2296' is-artificial='yes'/>
             <parameter type-id='type-id-357'/>
             <return type-id='type-id-5'/>
@@ -51520,7 +51520,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='out_of_range' mangled-name='_ZNSt12out_of_rangeC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='out_of_range' mangled-name='_ZNSt12out_of_rangeC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3477' is-artificial='yes'/>
             <parameter type-id='type-id-357'/>
             <return type-id='type-id-5'/>
@@ -51541,7 +51541,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~out_of_range' mangled-name='_ZNSt12out_of_rangeD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~out_of_range' mangled-name='_ZNSt12out_of_rangeD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3477' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -51617,7 +51617,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~invalid_argument' mangled-name='_ZNSt16invalid_argumentD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~invalid_argument' mangled-name='_ZNSt16invalid_argumentD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3473' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -51672,7 +51672,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='underflow_error' mangled-name='_ZNSt15underflow_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='underflow_error' mangled-name='_ZNSt15underflow_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3483' is-artificial='yes'/>
             <parameter type-id='type-id-357'/>
             <return type-id='type-id-5'/>
@@ -51731,7 +51731,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~overflow_error' mangled-name='_ZNSt14overflow_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~overflow_error' mangled-name='_ZNSt14overflow_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3479' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -51748,7 +51748,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='range_error' mangled-name='_ZNSt11range_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4'>
+          <function-decl name='range_error' mangled-name='_ZNSt11range_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3481' is-artificial='yes'/>
             <parameter type-id='type-id-357'/>
             <return type-id='type-id-5'/>
@@ -51769,7 +51769,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~range_error' mangled-name='_ZNSt11range_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~range_error' mangled-name='_ZNSt11range_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15'>
             <parameter type-id='type-id-3481' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -52056,7 +52056,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPFPvmEPFvS0_E' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-188'/>
             <parameter type-id='type-id-93'/>
@@ -52087,7 +52087,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKhl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKhl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-90'/>
             <parameter type-id='type-id-1168'/>
@@ -52095,7 +52095,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKal' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKal' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-3358'/>
             <parameter type-id='type-id-1168'/>
@@ -52103,7 +52103,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKcl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPKcl' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-1168'/>
@@ -52111,7 +52111,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPhlS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPhlS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-3183'/>
             <parameter type-id='type-id-1168'/>
@@ -52120,7 +52120,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPalS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPalS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-3184'/>
             <parameter type-id='type-id-1168'/>
@@ -52129,7 +52129,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' constructor='yes'>
-          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPclS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4'>
+          <function-decl name='strstreambuf' mangled-name='_ZNSt12strstreambufC2EPclS0_' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-98'/>
             <parameter type-id='type-id-1168'/>
@@ -52152,7 +52152,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~strstreambuf' mangled-name='_ZNSt12strstreambufD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~strstreambuf' mangled-name='_ZNSt12strstreambufD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/strstream.cc' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3514' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -52898,14 +52898,14 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~valarray' mangled-name='_ZNSt8valarrayImED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~valarray' mangled-name='_ZNSt8valarrayImED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3601' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='valarray' mangled-name='_ZNSt8valarrayImEC2ERKS0_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4'>
+          <function-decl name='valarray' mangled-name='_ZNSt8valarrayImEC2ERKS0_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/valarray' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3601' is-artificial='yes'/>
             <parameter type-id='type-id-3578'/>
             <return type-id='type-id-5'/>
@@ -53572,7 +53572,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='codecvt_byname' mangled-name='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/codecvt.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3683' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -53612,7 +53612,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='messages_byname' mangled-name='_ZNSt15messages_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/messages_members.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3688' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -53652,7 +53652,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='numpunct_byname' mangled-name='_ZNSt15numpunct_bynameIwEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3694' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -53695,7 +53695,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3692' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -53760,7 +53760,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~moneypunct_byname' mangled-name='_ZNSt17moneypunct_bynameIwLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3690' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -53778,7 +53778,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_put_byname' mangled-name='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3698' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -53818,7 +53818,7 @@
           </function-decl>
         </member-function>
         <member-function access='private'>
-          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4'>
+          <function-decl name='time_get_byname' mangled-name='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3696' is-artificial='yes'/>
             <parameter type-id='type-id-4'/>
             <parameter type-id='type-id-96'/>
@@ -54178,7 +54178,7 @@
           </function-decl>
         </member-function>
         <member-function access='private' destructor='yes'>
-          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-1332' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
@@ -54739,7 +54739,7 @@
           </function-decl>
         </member-function>
         <member-function access='protected' destructor='yes' vtable-offset='-1'>
-          <function-decl name='~ctype_byname' mangled-name='_ZNSt12ctype_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/ctype_members.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4'>
+          <function-decl name='~ctype_byname' mangled-name='_ZNSt12ctype_bynameIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/ctype_members.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4'>
             <parameter type-id='type-id-3729' is-artificial='yes'/>
             <parameter type-id='type-id-6' is-artificial='yes'/>
             <return type-id='type-id-5'/>
diff --git a/tests/data/test-read-dwarf/test3.so.abi b/tests/data/test-read-dwarf/test3.so.abi
index 7357a7401c6e..96d8cc310237 100644
--- a/tests/data/test-read-dwarf/test3.so.abi
+++ b/tests/data/test-read-dwarf/test3.so.abi
@@ -3,16 +3,16 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
     <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='foo__,__foo__,__foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     <type-decl name='void' id='type-id-1'/>
-    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
       <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
diff --git a/tests/data/test-read-dwarf/test3.so.hash.abi b/tests/data/test-read-dwarf/test3.so.hash.abi
index e01f395983fa..22540639c41d 100644
--- a/tests/data/test-read-dwarf/test3.so.hash.abi
+++ b/tests/data/test-read-dwarf/test3.so.hash.abi
@@ -3,16 +3,16 @@
     <dependency name='libc.so.6'/>
   </elf-needed>
   <elf-function-symbols>
-    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
     <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='foo__,__foo__,__foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-function-symbols>
   <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     <type-decl name='void' id='48b5725f'/>
-    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
       <return type-id='48b5725f'/>
     </function-decl>
   </abi-instr>
diff --git a/tests/data/test-symtab/basic/aliases.c b/tests/data/test-symtab/basic/aliases.c
new file mode 100644
index 000000000000..319f463249dc
--- /dev/null
+++ b/tests/data/test-symtab/basic/aliases.c
@@ -0,0 +1,13 @@
+void exported_function(){}
+
+void exported_function_alias() __attribute__((alias("exported_function")));
+void exported_function_another_alias() __attribute__((alias("exported_function")));
+void exported_function_weak_alias() __attribute__((weak, alias("exported_function")));
+void exported_function_another_weak_alias() __attribute__((weak, alias("exported_function")));
+
+int exported_variable = 42;
+
+extern int exported_variable_alias __attribute__((alias("exported_variable")));
+extern int exported_variable_another_alias __attribute__((alias("exported_variable")));
+extern int exported_variable_weak_alias __attribute__((weak, alias("exported_variable")));
+extern int exported_variable_another_weak_alias __attribute__((weak, alias("exported_variable")));
diff --git a/tests/data/test-symtab/basic/aliases.so b/tests/data/test-symtab/basic/aliases.so
new file mode 100755
index 0000000000000000000000000000000000000000..95a5c058e95d5f7027b767e1200bf2cef5d5bead
GIT binary patch
literal 17176
zcmeHOYiJzT6~42hwN_qf^>EV2v0IJJ1{}A$QW8I8yRt@4uZ-llsss&*JDS}c?JnJ&
z6+5$$loTp32@Y;R{n1xQAQV&F&{7xLA1$TCI1O$7^hJvaZE;FM9Ga#I#l?Mjd(O-~
zv$M0aD)dL8VJ_^PbHDSr_nx_P=Z<vG=cZ<-LxRAli0mZ8n%rX}G8bGw!5JVj8)hAF
z{V>~W>9*BHP2A898zRcMUu+|cB3}2>Fz*skk|S)jC!sME$+|l960Z_<+hJEWlD5Le
z$wqpKw|ALSvI~J4+HG>XO>Rf@EY~L*vE5pI#C{H=10Nc<VMY{nv7CL&%v!u;Rh@Cs
zI7y!<*?j`+c&NGI_JqPd&)aJimkmBXq7)u%_b&K}@H=&8k#%OD>v{X5^CNw$-}+7G
z;M-qikNo7f*aMW~eMUR%UtB(Tb)PIPA%?N)gx{xU#$WsH*^bViz1i`~$s@+2@yOt%
z_wIS^+^<)ku1$8g&zSMt;^I347eTdUnFfjEBmGzl9LMjckNxz+7eUa=`j{kx0u+jS
z4*31>G~D6=ZMUS1eFJEp5B}2@_~%>rIozV%zkvQepZ@fNz90Su===45u|<EFqU1_t
zT`^3xVk!z#W)|j@tX9!-1;f-T3v(02vaT(t>7r)K{3S|eO;wf)x>_tep)qZ3rCc$!
ztg>9yGiITzHzSIwm(9FZQC2neGYXighL6&=Lh{hc*n>Z=RtnZIoZb<#ZC@NEzrHxa
z7JaG9tpUP4p!JB>k1al*F7Wk+@GBhem%#`M;Z(mdYUB8<!BlX{O&89WBulpC!tq(9
za@&Q|TqjvTg9ro>2qF+fAc#N^fgl1w1pa>`kUIZvBy}<Tr$NS2PrYo0YClh%e<gCw
z8Bp!;A3#*Q?@hRN56Hm11l;l_DWskqc>`^q4Zn`$*lqJ}aQ7wT!Cgn~M)$x5>R#g%
z^uJ^2A4Wf^`|qTl*-Bk~Z!~rFwwMxLP5t7Ic^5dC;|?OV8_V4TlXd%zkrIelb#O6t
ze&i#_rk;7r>`Yx8ISrMY=W4au%{*LQ4NpN`I7jUgedkFKE`rVGxog(g8%B#g4N4G!
zAOb-If(Qf=2qF+fAc#N^fgl1w1cC?z5%}OmK-eRmh{Le(e?QVzttJB<0-6VU3+M(=
zEcm}(EW#7>Ojzp?_H?#KHsK#kXuB7F*Z*9rS^t`f^-Rb5Pj^RGBO7e=-V+BOitk4|
zw1>}l_A=<v|Ev&4+sEKng0`&xosPwNo(@fP?HGp!P$4Km1cC?z5eOm>L?DPj5P={9
zK?H&b1Q7@#@PUW`opYpfjd&i|D*T*d7q9-4*LU+eotNCh>-4R7FR#<NN&LRVLh@U8
zYGtf1@k5Z-8FZ-kw;^huQAT=&%XeZ0N{Jt)jM`P!&#7}}Qnmp)|9gQurgkrL{SHpa
z{%<wAKaL+R|6dV0$L?*9&XXPl!KsOf<I;giEnQG`=~(ii<WOSxew$%<zS<6zJyP#E
zXs_Qd0APnYBACEi_Zx%kXBbL@K!}7VfOLqG3<QeU7B1)}Yx^<q!p=?<w*3zIsLf9y
z-)ZyzLcYu5!~5YD3c?O=L&Eb+=oRjZ?TU)AJ+WS)uf69U7}Fsp#*Rl%M2|&hc8%^1
z!Tl2BEE+u-6=9%ljZ!$`o@ArD$pC%G{a+r(x%zSViA=(72>*z6!PQE(z^*XsAhKp8
zGav;QyIDtwIwypM(;*SG>pFw0#$cwbo0UR(uvkc|=|WB|6cuB=WUA>wQ!`9sFsquX
z#U?nMR*gcYet_CJcf8%9WjxO>O+0YazQa<YWL9-;B&X?GrI3NDTFK-`)`pKHjvSH_
zIVrJxc4h*us<EzT@|Ch)t{RD|zFN?;3Fui-a~<Gz+HY|N+c|OlpX7f1cMg?X;oRl|
zadq-C+-f4sWLg&*anV^18u2z~-Dt$ajGq5S98P8Pb*vF@XOb@-VMD$+WZ(GWI~lE$
zjs9WPlH7>Ri}3Uv@Ws2F^XP6Xk;NFTtBrU!^IJzm7%ZJfZ`AK)Om-tSFG4;8tvhb1
z$aX>Ah#Mh&`m1E4Ok{UA0=y=&54FJIf%hq*v&uILMMiI-It~vstZVPr>WIzZ`WC`$
zDbM|iaeT#t@8dYV4{a}u9R)^k#R1#Hf_X23&wVKYj_q!F{I6U3&G+{!fcy2o)wsT9
z`RQaYO2BxEpPwtBBe3Rq@_h^MV+Z6$C)VQbGar5lY9Y)d@{H@cW!^l`|7htqKNs%<
zE<i?%cOJIGfc^4z1_1ZVpE(M+U;fVm;F8s+#!Cipzx<qy7W&Tt?$_=&0r%_Yk6QS7
zy@j8@1Mb)VfsnudQNaDibp~+1aj{IrG|cMqGQ8#L=|hTHQZkr8WI&!#wyfle<+NH<
zvSztrC~9?$Wy+<Mq6Vo#$)kr3Kj^Q7c|`?9tyI)?MT7U^I$N%&B~8gzOQm%%an%&i
zG#gaw?^Q*ao*$c=Ql`#KVxH6FBWK3uW+uQMa-0ZMvPN0St9ll*ozNGE;Vr35rMPiw
za-LcJValo5hsVcem4~ONKRLCaER2oMPAT;_FukO_sZFikjE=tRji<E8s&ag|bun+t
zH#e&(-Kn{g+h%<=*|&OmJ42vkC|CC!CrwKB4#1Oz=BPVE_3_D)_T~quS%Do0&^&RF
zT&5*+dNrA@7K+(KA<L{<UN!P8nO)bx(xzsGB`aD{MUW+}Tb^7gn#o+*WJyz7gDXxy
zmelfmqUEz-LN(jOo^iG&@!(G_!JZ5~p+{&AHf=1KHVl@8X<ve=449U#=D<YNbMTDt
zYC&Hv6R)Pz7431V6$`pXJPfsQ$@#Bp_+5qHGVoYi#hb^9|Mznj{`urUm@fNQ__iVY
zCC(6?<(l-}L*Gf{U>F$u)*^fQ9wVBEbqfo&i!9m0KHVxZT+uh#)At=w`ku3t;lkZf
zm8F0~-(*kwIii=jrnmpp{yfOhC%mcbLhmb1y*mzX{9Xbpx4p#eh?2V&?%Ah2_Oy>A
zO7S9lsuNW`_OyQ?`a?40)Z3q&$Da13MCm)2+<3>2`xhKP#h*!BlhZh_67kwU2?Do0
z?Q@BKmJB(iaTEL$Ft|sf`%8aspgd`>KGlihcW$@Kp7zZbcpf?Ffr?eAPV@ypaqdw2
zw7;f2bjmlUag!b0hsVGc$4~aO55EDY;;~59wSFOcqF)D*+n&i>cgUtR&pGNme`Nn{
z5V-AWU*FH|t?zy^21<4WeUD?*|F~>R;@qCbP5RiDyZituh;emCMD}|f#Ae8z=rw?e
zcdN?Wq1Ufh7x$@N4E?Nd!!Np>`sn`N2Sbza19)ZZQJXkdZ(Hwz#EYTw61SJJ;woO<
z+aN>CJI)um{UMJ5Ro&Eic3tgUf6%VbI*RX^1pMg!)4am<f$qI+VPBVqZEAR&Q@f<w
S3yh!rua4UqqQ}5fW&Z}!dYz2`

literal 0
HcmV?d00001

diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index ac853e895fef..e843738bedad 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -277,6 +277,53 @@ TEST_CASE("Symtab::SymtabWithWhitelist", "[symtab, whitelist]")
   }
 }
 
+TEST_CASE("Symtab::AliasedFunctionSymbols", "[symtab, functions, aliases]")
+{
+  const std::string  binary = "basic/aliases.so";
+  const corpus_sptr& corpus = assert_symbol_count(binary, 5, 5);
+
+  // The main symbol is not necessarily the one that is aliased to in the
+  // code So, this can't be decided by just looking at ELF. Hence acquire the
+  // main symbol.
+  const elf_symbol_sptr& main_symbol =
+    corpus->lookup_function_symbol("exported_function")->get_main_symbol();
+  REQUIRE(main_symbol);
+
+  // But since we know that 'exported_function' is the main symbol and this
+  // can be discovered from DWARF
+  CHECK(corpus->lookup_function_symbol("exported_function")->is_main_symbol());
+
+  CHECK(corpus->lookup_function_symbol("exported_function")
+	  ->get_number_of_aliases() == 4);
+
+  CHECK(main_symbol->has_aliases());
+  CHECK(main_symbol->get_number_of_aliases() == 4);
+  CHECK(main_symbol->get_main_symbol() == main_symbol);
+}
+
+TEST_CASE("Symtab::AliasedVariableSymbols", "[symtab, variables, aliases]")
+{
+  const std::string  binary = "basic/aliases.so";
+  const corpus_sptr& corpus = assert_symbol_count(binary, 5, 5);
+  // The main symbol is not necessarily the one that is aliased to in the
+  // code So, this can't be decided by just looking at ELF. Hence acquire the
+  // main symbol.
+  const elf_symbol_sptr& main_symbol =
+    corpus->lookup_variable_symbol("exported_variable")->get_main_symbol();
+  REQUIRE(main_symbol);
+
+  // But since we know that 'exported_function' is the main symbol and this
+  // can be discovered from DWARF
+  CHECK(corpus->lookup_variable_symbol("exported_variable")->is_main_symbol());
+
+  CHECK(corpus->lookup_variable_symbol("exported_variable")
+	  ->get_number_of_aliases() == 4);
+
+  CHECK(main_symbol->has_aliases());
+  CHECK(main_symbol->get_number_of_aliases() == 4);
+  CHECK(main_symbol->get_main_symbol() == main_symbol);
+}
+
 static const char* kernel_versions[] = { "4.14", "4.19", "5.4", "5.6" };
 static const size_t nr_kernel_versions =
     sizeof(kernel_versions) / sizeof(kernel_versions[0]);
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 18/20] dwarf-reader/writer: consider aliases when dealing with suppressions
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (16 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 17/20] symtab/dwarf-reader: allow hinting of main symbols for aliases Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-17 15:44     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 19/20] abg-writer.cc: fix write_elf_symbol_reference loop Matthias Maennich
                     ` (2 subsequent siblings)
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

When a symbol is suppressed and it happens to be the main symbol of a
group of aliased symbols where another symbol is not suppressed, the
dwarf reader discards the DWARF information upon reading and the writer
will not be able to connect dwarf information to the aliased elf symbol.

In order to address this, ensure we are not suppressing symbols
(actually functions and variables) for which an alias is not suppressed.
We therefore keep the DWARF information even if only a non-main symbol
is asked for.

Likewise, when the abg-writer is having to attach an elf-symbol-id to
the DWARF collected information (for functions and variables), instead
of omitting the symbol altogether, rather make use of the property of
aliases and connect the dwarf information to an alias instead. This way
the function dwarf information stays connected to the elf symbol that we
want to track.

When reading from XML with a symbol whitelist that leads to suppression
of aliased symbols, abidiff would hit an assertion and crash when
looking up the aliased symbol due to it being suppressed. In the new
symtab reader we can still suppress a symbol without removing it from
the lookup. Make use of that property to fix this bug.

A test has been added for this as well.

	* src/abg-dwarf-reader.cc(function_is_suppressed): Do not suppress
	  a function for which there is an alias that is not suppressed.
	(variable_is_suppressed): Likewise for variables.
	* src/abg-reader.cc (build_elf_symbol): Improve handling of
	suppressed aliased symbols when reading from XML.
	* src/abg-symtab-reader.cc (load): Likewise.
	* src/abg-writer.cc(write_elf_symbol_reference): Fall back to
	  any aliased symbol if the main symbol is suppressed.
	* tests/data/Makefile.am: Add new test files.
	* tests/data/test-abidiff-exit/test-missing-alias-report.txt: New test file.
	* tests/data/test-abidiff-exit/test-missing-alias.abi: Likewise.
	* tests/data/test-abidiff-exit/test-missing-alias.suppr: Likewise.
	* tests/test-abidiff-exit.cc: Add support for whitelists and add
	new testcase.
	* tests/data/test-read-dwarf/test-suppressed-alias.c: New test file.
	* tests/data/test-read-dwarf/test-suppressed-alias.o: Likewise.
	* tests/data/test-read-dwarf/test-suppressed-alias.o.abi: Likewise.
	* tests/data/test-read-dwarf/test-suppressed-alias.suppr: Likewise.
	* tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test3-alias-1.suppr: Likewise.
	* tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test3-alias-2.suppr: Likewise.
	* tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test3-alias-3.suppr: Likewise.
	* tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test3-alias-4.suppr: Likewise.
	* tests/test-read-dwarf.cc: Add new test cases.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-dwarf-reader.cc                       |  30 +-
 src/abg-reader.cc                             |   7 +-
 src/abg-symtab-reader.cc                      |  14 +-
 src/abg-writer.cc                             |   5 +-
 tests/data/Makefile.am                        |  15 +
 .../test-missing-alias-report.txt             |   0
 .../test-abidiff-exit/test-missing-alias.abi  |  12 +
 .../test-missing-alias.suppr                  |   4 +
 .../data/test-diff-suppr/test31-report-0.txt  |   3 +
 .../data/test-diff-suppr/test32-report-1.txt  |   2 +-
 .../test-read-dwarf/libtest24-drop-fns.so.abi | 314 +++++++++---------
 .../test-read-dwarf/test-suppressed-alias.c   |  16 +
 .../test-read-dwarf/test-suppressed-alias.o   | Bin 0 -> 2848 bytes
 .../test-suppressed-alias.o.abi               |  16 +
 .../test-suppressed-alias.suppr               |   7 +
 .../test-read-dwarf/test3-alias-1.so.hash.abi |  14 +
 .../data/test-read-dwarf/test3-alias-1.suppr  |   3 +
 .../test-read-dwarf/test3-alias-2.so.hash.abi |  18 +
 .../data/test-read-dwarf/test3-alias-2.suppr  |   3 +
 .../test-read-dwarf/test3-alias-3.so.hash.abi |  14 +
 .../data/test-read-dwarf/test3-alias-3.suppr  |   3 +
 .../test-read-dwarf/test3-alias-4.so.hash.abi |   8 +
 .../data/test-read-dwarf/test3-alias-4.suppr  |   3 +
 tests/test-abidiff-exit.cc                    |  11 +
 tests/test-read-dwarf.cc                      |  40 +++
 25 files changed, 399 insertions(+), 163 deletions(-)
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias-report.txt
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.abi
 create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.suppr
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.c
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.o
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.o.abi
 create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-1.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-2.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-3.suppr
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
 create mode 100644 tests/data/test-read-dwarf/test3-alias-4.suppr

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 7d7ffbdc8ebe..37d63b262646 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -13490,8 +13490,21 @@ function_is_suppressed(const read_context& ctxt,
       if (!ctxt.get_function_address(function_die, fn_addr))
 	return true;
 
-      if (!ctxt.function_symbol_is_exported(fn_addr))
+      elf_symbol_sptr symbol = ctxt.function_symbol_is_exported(fn_addr);
+      if (!symbol)
 	return true;
+      if (!symbol->is_suppressed())
+	return false;
+
+      // Since there is only one symbol in DWARF associated with an elf_symbol,
+      // we can assume this is the main symbol then. Otherwise the main hinting
+      // did not work as expected.
+      ABG_ASSERT(symbol->is_main_symbol());
+      if (symbol->has_aliases())
+	for (elf_symbol_sptr a = symbol->get_next_alias();
+	     !a->is_main_symbol(); a = a->get_next_alias())
+	  if (!a->is_suppressed())
+	    return false;
     }
 
   return suppr::function_is_suppressed(ctxt, qualified_name,
@@ -13599,8 +13612,21 @@ variable_is_suppressed(const read_context& ctxt,
       if (!ctxt.get_variable_address(variable_die, var_addr))
 	return true;
 
-      if (!ctxt.variable_symbol_is_exported(var_addr))
+      elf_symbol_sptr symbol = ctxt.variable_symbol_is_exported(var_addr);
+      if (!symbol)
 	return true;
+      if (!symbol->is_suppressed())
+	return false;
+
+      // Since there is only one symbol in DWARF associated with an elf_symbol,
+      // we can assume this is the main symbol then. Otherwise the main hinting
+      // did not work as expected.
+      ABG_ASSERT(symbol->is_main_symbol());
+      if (symbol->has_aliases())
+	for (elf_symbol_sptr a = symbol->get_next_alias();
+	     !a->is_main_symbol(); a = a->get_next_alias())
+	  if (!a->is_suppressed())
+	    return false;
     }
 
   return suppr::variable_is_suppressed(ctxt, qualified_name,
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index 296e1e2115d1..e0269436ee89 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -2780,7 +2780,8 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 
   elf_symbol::version version(version_string, is_default_version);
 
-  if (drop_if_suppressed && suppr::is_elf_symbol_suppressed(ctxt, name, type))
+  const bool is_suppressed = suppr::is_elf_symbol_suppressed(ctxt, name, type);
+  if (drop_if_suppressed && is_suppressed)
     return elf_symbol_sptr();
 
   const environment* env = ctxt.get_environment();
@@ -2789,6 +2790,8 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 					 is_defined, is_common,
 					 version, visibility,
 					 /*is_linux_string_cst=*/false);
+
+  e->set_is_suppressed(is_suppressed);
   return e;
 }
 
@@ -2875,7 +2878,7 @@ build_elf_symbol_db(read_context& ctxt,
   elf_symbol_sptr sym;
   for (xmlNodePtr n = node->children; n; n = n->next)
     {
-      if ((sym = build_elf_symbol(ctxt, n, /*drop_if_suppress=*/true)))
+      if ((sym = build_elf_symbol(ctxt, n, /*drop_if_suppress=*/false)))
 	{
 	  id_sym_map[sym->get_id_string()] = sym;
 	  xml_node_ptr_elf_symbol_map[n] = sym;
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index a769934e5c05..512fbc20adc0 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -357,16 +357,22 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
   if (function_symbol_map)
     for (const auto& symbol_map_entry : *function_symbol_map)
       {
-	symbols_.insert(symbols_.end(), symbol_map_entry.second.begin(),
-			symbol_map_entry.second.end());
+	for (const auto& symbol : symbol_map_entry.second)
+	  {
+	    if (!symbol->is_suppressed())
+	      symbols_.push_back(symbol);
+	  }
 	ABG_ASSERT(name_symbol_map_.insert(symbol_map_entry).second);
       }
 
   if (variables_symbol_map)
     for (const auto& symbol_map_entry : *variables_symbol_map)
       {
-	symbols_.insert(symbols_.end(), symbol_map_entry.second.begin(),
-			symbol_map_entry.second.end());
+	for (const auto& symbol : symbol_map_entry.second)
+	  {
+	    if (!symbol->is_suppressed())
+	      symbols_.push_back(symbol);
+	  }
 	ABG_ASSERT(name_symbol_map_.insert(symbol_map_entry).second);
       }
 
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index d4d5e5531894..c2fdd8f0a043 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -1728,7 +1728,10 @@ write_elf_symbol_aliases(const elf_symbol& sym, ostream& out)
 static bool
 write_elf_symbol_reference(const elf_symbol& sym, ostream& o)
 {
-  o << " elf-symbol-id='" << sym.get_id_string() << "'";
+  auto actual_sym = &sym;
+  while (actual_sym->is_suppressed() && actual_sym->has_aliases())
+    actual_sym = actual_sym->get_next_alias().get();
+  o << " elf-symbol-id='" << actual_sym->get_id_string() << "'";
   return true;
 }
 
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index d1358c9e9942..83e48cb8ebac 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -197,6 +197,9 @@ test-abidiff-exit/test-non-leaf-array-v0.o \
 test-abidiff-exit/test-non-leaf-array-v1.c \
 test-abidiff-exit/test-non-leaf-array-v1.o \
 test-abidiff-exit/test-non-leaf-array-report.txt \
+test-abidiff-exit/test-missing-alias-report.txt \
+test-abidiff-exit/test-missing-alias.abi \
+test-abidiff-exit/test-missing-alias.suppr \
 \
 test-diff-dwarf/test0-v0.cc		\
 test-diff-dwarf/test0-v0.o			\
@@ -450,6 +453,14 @@ test-read-dwarf/test3.c		\
 test-read-dwarf/test3.so		\
 test-read-dwarf/test3.so.abi		\
 test-read-dwarf/test3.so.hash.abi	\
+test-read-dwarf/test3-alias-1.so.hash.abi \
+test-read-dwarf/test3-alias-1.suppr \
+test-read-dwarf/test3-alias-2.so.hash.abi \
+test-read-dwarf/test3-alias-2.suppr \
+test-read-dwarf/test3-alias-3.so.hash.abi \
+test-read-dwarf/test3-alias-3.suppr \
+test-read-dwarf/test3-alias-4.so.hash.abi \
+test-read-dwarf/test3-alias-4.suppr \
 test-read-dwarf/test4.c		\
 test-read-dwarf/test4.so		\
 test-read-dwarf/test4.so.abi		\
@@ -535,6 +546,10 @@ test-read-dwarf/test-PR26568-1.o.abi \
 test-read-dwarf/test-PR26568-2.o.abi \
 test-read-dwarf/test-libandroid.so \
 test-read-dwarf/test-libandroid.so.abi \
+test-read-dwarf/test-suppressed-alias.c \
+test-read-dwarf/test-suppressed-alias.o \
+test-read-dwarf/test-suppressed-alias.o.abi \
+test-read-dwarf/test-suppressed-alias.suppr \
 \
 test-annotate/test0.abi			\
 test-annotate/test1.abi			\
diff --git a/tests/data/test-abidiff-exit/test-missing-alias-report.txt b/tests/data/test-abidiff-exit/test-missing-alias-report.txt
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/tests/data/test-abidiff-exit/test-missing-alias.abi b/tests/data/test-abidiff-exit/test-missing-alias.abi
new file mode 100644
index 000000000000..07a13f5e6d15
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-missing-alias.abi
@@ -0,0 +1,12 @@
+<abi-corpus path='test.so' soname='test.so'>
+  <elf-function-symbols>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test.c' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='test.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff-exit/test-missing-alias.suppr b/tests/data/test-abidiff-exit/test-missing-alias.suppr
new file mode 100644
index 000000000000..bcebae43a350
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-missing-alias.suppr
@@ -0,0 +1,4 @@
+[suppress_function]
+  symbol_name_not_regexp = ^__foo$
+  drop = true
+
diff --git a/tests/data/test-diff-suppr/test31-report-0.txt b/tests/data/test-diff-suppr/test31-report-0.txt
index e69de29bb2d1..9666a8fddad7 100644
--- a/tests/data/test-diff-suppr/test31-report-0.txt
+++ b/tests/data/test-diff-suppr/test31-report-0.txt
@@ -0,0 +1,3 @@
+Functions changes summary: 0 Removed, 0 Changed (1 filtered out), 0 Added function
+Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
+
diff --git a/tests/data/test-diff-suppr/test32-report-1.txt b/tests/data/test-diff-suppr/test32-report-1.txt
index 2f785d0203dd..cffdf3a5aa4f 100644
--- a/tests/data/test-diff-suppr/test32-report-1.txt
+++ b/tests/data/test-diff-suppr/test32-report-1.txt
@@ -1,4 +1,4 @@
-Functions changes summary: 0 Removed, 1 Changed, 0 Added function
+Functions changes summary: 0 Removed, 1 Changed (1 filtered out), 0 Added functions
 Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
diff --git a/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi b/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi
index 98b691bb4eec..fac267b365e1 100644
--- a/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi
+++ b/tests/data/test-read-dwarf/libtest24-drop-fns.so.abi
@@ -204,75 +204,78 @@
     <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
     <qualified-type-def type-id='type-id-16' const='yes' id='type-id-56'/>
     <qualified-type-def type-id='type-id-57' const='yes' id='type-id-58'/>
-    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-60'/>
+    <qualified-type-def type-id='type-id-59' id='type-id-60'/>
+    <reference-type-def kind='lvalue' type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
     <qualified-type-def type-id='type-id-61' const='yes' id='type-id-62'/>
     <qualified-type-def type-id='type-id-63' const='yes' id='type-id-64'/>
     <qualified-type-def type-id='type-id-65' const='yes' id='type-id-66'/>
-    <qualified-type-def type-id='type-id-67' id='type-id-68'/>
-    <reference-type-def kind='lvalue' type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
-    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-69'/>
-    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-71'/>
-    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-72'/>
-    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-67' const='yes' id='type-id-68'/>
+    <qualified-type-def type-id='type-id-69' const='yes' id='type-id-70'/>
+    <qualified-type-def type-id='type-id-71' id='type-id-72'/>
+    <reference-type-def kind='lvalue' type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-73'/>
     <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
-    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-75'/>
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-76'/>
+    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-75'/>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-77'/>
     <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
-    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-83'/>
     <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-8'/>
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-80'/>
-    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
     <namespace-decl name='std'>
-      <class-decl name='char_traits&lt;char&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' id='type-id-82'>
+      <class-decl name='char_traits&lt;char&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' id='type-id-86'>
         <member-type access='public'>
-          <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' id='type-id-61'/>
+          <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' id='type-id-65'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='int_type' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' id='type-id-63'/>
+          <typedef-decl name='int_type' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' id='type-id-67'/>
         </member-type>
       </class-decl>
-      <typedef-decl name='string' type-id='type-id-83' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-65'/>
-      <class-decl name='basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' id='type-id-83'>
+      <typedef-decl name='string' type-id='type-id-57' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-69'/>
+      <class-decl name='basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' id='type-id-57'>
         <member-type access='private'>
-          <class-decl name='_Alloc_hider' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' id='type-id-84'>
-            <base-class access='public' layout-offset-in-bits='0' type-id='type-id-85'/>
+          <class-decl name='_Alloc_hider' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' id='type-id-87'>
+            <base-class access='public' layout-offset-in-bits='0' type-id='type-id-88'/>
             <data-member access='public' layout-offset-in-bits='0'>
               <var-decl name='_M_p' type-id='type-id-34' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2675' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='size_type' type-id='type-id-86' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' id='type-id-59'/>
+          <typedef-decl name='size_type' type-id='type-id-89' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' id='type-id-63'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='allocator_type' type-id='type-id-85' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-87'/>
+          <typedef-decl name='allocator_type' type-id='type-id-88' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-90'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='reference' type-id='type-id-89' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' id='type-id-88'/>
+          <typedef-decl name='reference' type-id='type-id-92' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' id='type-id-91'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='const_reference' type-id='type-id-91' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' id='type-id-90'/>
+          <typedef-decl name='const_reference' type-id='type-id-94' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' id='type-id-93'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='iterator' type-id='type-id-93' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-92'/>
+          <typedef-decl name='iterator' type-id='type-id-96' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-95'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='const_iterator' type-id='type-id-95' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-94'/>
+          <typedef-decl name='const_iterator' type-id='type-id-98' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-97'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='const_reverse_iterator' type-id='type-id-97' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-96'/>
+          <typedef-decl name='const_reverse_iterator' type-id='type-id-100' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-99'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='reverse_iterator' type-id='type-id-99' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-98'/>
+          <typedef-decl name='reverse_iterator' type-id='type-id-102' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-101'/>
         </member-type>
         <member-type access='private'>
-          <class-decl name='_Rep_base' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' id='type-id-100'>
+          <class-decl name='_Rep_base' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' id='type-id-103'>
             <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='_M_length' type-id='type-id-59' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/>
+              <var-decl name='_M_length' type-id='type-id-63' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='_M_capacity' type-id='type-id-59' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/>
+              <var-decl name='_M_capacity' type-id='type-id-63' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <var-decl name='_M_refcount' type-id='type-id-39' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2550' column='1'/>
@@ -280,10 +283,10 @@
           </class-decl>
         </member-type>
         <member-type access='private'>
-          <class-decl name='_Rep' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' id='type-id-57'>
-            <base-class access='public' layout-offset-in-bits='0' type-id='type-id-100'/>
+          <class-decl name='_Rep' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' id='type-id-61'>
+            <base-class access='public' layout-offset-in-bits='0' type-id='type-id-103'/>
             <data-member access='public' static='yes'>
-              <var-decl name='_S_max_size' type-id='type-id-60' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='494' column='1'/>
+              <var-decl name='_S_max_size' type-id='type-id-64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='494' column='1'/>
             </data-member>
             <data-member access='public' static='yes'>
               <var-decl name='_S_terminal' type-id='type-id-49' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='499' column='1'/>
@@ -294,29 +297,34 @@
           </class-decl>
         </member-type>
         <data-member access='public' static='yes'>
-          <var-decl name='npos' type-id='type-id-60' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2683' column='1'/>
+          <var-decl name='npos' type-id='type-id-64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2683' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='0'>
-          <var-decl name='_M_dataplus' type-id='type-id-84' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/>
+          <var-decl name='_M_dataplus' type-id='type-id-87' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='allocator&lt;char&gt;' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' id='type-id-85'>
+      <class-decl name='allocator&lt;char&gt;' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' id='type-id-88'>
         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-41'/>
         <member-type access='public'>
-          <typedef-decl name='size_type' type-id='type-id-101' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' id='type-id-86'/>
+          <typedef-decl name='size_type' type-id='type-id-104' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' id='type-id-89'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' id='type-id-89'/>
+          <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' id='type-id-92'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' id='type-id-91'/>
+          <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' id='type-id-94'/>
         </member-type>
       </class-decl>
-      <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' id='type-id-101'/>
-      <typedef-decl name='ostream' type-id='type-id-102' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-77'/>
-      <class-decl name='reverse_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-97'/>
-      <class-decl name='reverse_iterator&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-99'/>
-      <class-decl name='basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-102'/>
+      <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' id='type-id-104'/>
+      <typedef-decl name='ostream' type-id='type-id-105' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-81'/>
+      <class-decl name='reverse_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-100'/>
+      <class-decl name='reverse_iterator&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-102'/>
+      <class-decl name='basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-105'/>
+      <function-decl name='operator+&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' mangled-name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_'>
+        <parameter type-id='type-id-32' name='__lhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1'/>
+        <parameter type-id='type-id-60' name='__rhs' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1152' column='1'/>
+        <return type-id='type-id-57'/>
+      </function-decl>
     </namespace-decl>
     <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-11'/>
@@ -327,10 +335,10 @@
       <return type-id='type-id-23'/>
     </function-decl>
     <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
       <parameter type-id='type-id-11'/>
       <parameter type-id='type-id-40'/>
-      <return type-id='type-id-80'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-22'/>
@@ -338,7 +346,7 @@
       <return type-id='type-id-23'/>
     </function-decl>
     <function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-40'/>
       <return type-id='type-id-11'/>
     </function-decl>
@@ -349,13 +357,13 @@
     </function-decl>
     <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-40'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-40'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-11'/>
     </function-decl>
@@ -369,14 +377,14 @@
     <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-32'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-80'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
       <parameter type-id='type-id-32'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-80'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -384,10 +392,10 @@
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
       <parameter type-id='type-id-51'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-80'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -400,15 +408,15 @@
       <return type-id='type-id-23'/>
     </function-decl>
     <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-11'/>
     </function-decl>
@@ -419,142 +427,142 @@
     </function-decl>
     <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-40'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-83'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-40'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-83'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-83'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-83'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-83'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-83'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-34'/>
       <parameter type-id='type-id-22'/>
-      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-80'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='wcscat' filepath='/usr/include/wchar.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
-      <return type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wcscmp' filepath='/usr/include/wchar.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
-      <return type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-70'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-74'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-26'/>
-      <return type-id='type-id-80'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-26'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-26'/>
-      <return type-id='type-id-80'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-34'/>
-      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-78'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-80'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='wcsspn' filepath='/usr/include/wchar.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='wcstod' filepath='/usr/include/wchar.h' line='450' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
       <return type-id='type-id-9'/>
     </function-decl>
     <function-decl name='wcstof' filepath='/usr/include/wchar.h' line='457' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
       <return type-id='type-id-10'/>
     </function-decl>
     <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
-      <return type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wcstol' filepath='/usr/include/wchar.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
       <parameter type-id='type-id-11'/>
       <return type-id='type-id-13'/>
     </function-decl>
     <function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
       <parameter type-id='type-id-11'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-26'/>
       <return type-id='type-id-26'/>
     </function-decl>
@@ -563,58 +571,58 @@
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-26'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-26'/>
-      <return type-id='type-id-80'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-77'/>
       <parameter type-id='type-id-26'/>
-      <return type-id='type-id-80'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-84'/>
       <parameter type-id='type-id-22'/>
       <parameter type-id='type-id-26'/>
-      <return type-id='type-id-80'/>
+      <return type-id='type-id-84'/>
     </function-decl>
     <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-77'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-11'/>
     </function-decl>
     <namespace-decl name='__gnu_cxx'>
       <class-decl name='new_allocator&lt;char&gt;' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' id='type-id-41'>
         <member-type access='public'>
-          <typedef-decl name='size_type' type-id='type-id-101' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' id='type-id-103'/>
+          <typedef-decl name='size_type' type-id='type-id-104' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' id='type-id-106'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='pointer' type-id='type-id-34' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' id='type-id-104'/>
+          <typedef-decl name='pointer' type-id='type-id-34' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' id='type-id-107'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='const_pointer' type-id='type-id-32' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' id='type-id-105'/>
+          <typedef-decl name='const_pointer' type-id='type-id-32' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' id='type-id-108'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' id='type-id-106'/>
+          <typedef-decl name='reference' type-id='type-id-43' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' id='type-id-109'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' id='type-id-107'/>
+          <typedef-decl name='const_reference' type-id='type-id-50' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' id='type-id-110'/>
         </member-type>
       </class-decl>
-      <class-decl name='__numeric_traits_integer&lt;int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-108'>
+      <class-decl name='__numeric_traits_integer&lt;int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-111'>
         <data-member access='public' static='yes'>
           <var-decl name='__min' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
         </data-member>
@@ -628,12 +636,12 @@
           <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__numeric_traits_integer&lt;long unsigned int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-109'>
+      <class-decl name='__numeric_traits_integer&lt;long unsigned int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-112'>
         <data-member access='public' static='yes'>
-          <var-decl name='__min' type-id='type-id-71' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
+          <var-decl name='__min' type-id='type-id-75' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
-          <var-decl name='__max' type-id='type-id-71' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
+          <var-decl name='__max' type-id='type-id-75' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <var-decl name='__is_signed' type-id='type-id-48' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='63' column='1'/>
@@ -642,7 +650,7 @@
           <var-decl name='__digits' type-id='type-id-52' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__numeric_traits_integer&lt;char&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-110'>
+      <class-decl name='__numeric_traits_integer&lt;char&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-113'>
         <data-member access='public' static='yes'>
           <var-decl name='__min' type-id='type-id-49' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
         </data-member>
@@ -656,7 +664,7 @@
           <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__numeric_traits_integer&lt;short int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-111'>
+      <class-decl name='__numeric_traits_integer&lt;short int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-114'>
         <data-member access='public' static='yes'>
           <var-decl name='__min' type-id='type-id-56' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
         </data-member>
@@ -670,7 +678,7 @@
           <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__numeric_traits_integer&lt;long int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-112'>
+      <class-decl name='__numeric_traits_integer&lt;long int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-115'>
         <data-member access='public' static='yes'>
           <var-decl name='__min' type-id='type-id-53' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
         </data-member>
@@ -684,23 +692,23 @@
           <var-decl name='__digits' type-id='type-id-52' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__normal_iterator&lt;char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-93'/>
-      <class-decl name='__normal_iterator&lt;char const*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__normal_iterator&lt;char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-96'/>
+      <class-decl name='__normal_iterator&lt;char const*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-98'/>
     </namespace-decl>
     <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
       <return type-id='type-id-12'/>
     </function-decl>
     <function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
       <parameter type-id='type-id-11'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-85'/>
       <parameter type-id='type-id-11'/>
       <return type-id='type-id-15'/>
     </function-decl>
@@ -710,7 +718,7 @@
       <return type-id='type-id-34'/>
     </function-decl>
     <function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <return type-id='type-id-75'/>
+      <return type-id='type-id-79'/>
     </function-decl>
     <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-23'/>
@@ -731,12 +739,12 @@
       <return type-id='type-id-35'/>
     </function-decl>
     <function-decl name='foo' mangled-name='_Z3fooRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooRKSs'>
-      <parameter type-id='type-id-68' name='s' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1'/>
-      <return type-id='type-id-65'/>
+      <parameter type-id='type-id-72' name='s' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1'/>
+      <return type-id='type-id-69'/>
     </function-decl>
     <function-decl name='bar' mangled-name='_Z3barRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barRKSs'>
-      <parameter type-id='type-id-68' name='str' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1'/>
-      <return type-id='type-id-78'/>
+      <parameter type-id='type-id-72' name='str' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1'/>
+      <return type-id='type-id-82'/>
     </function-decl>
     <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
   </abi-instr>
diff --git a/tests/data/test-read-dwarf/test-suppressed-alias.c b/tests/data/test-read-dwarf/test-suppressed-alias.c
new file mode 100644
index 000000000000..a7812736c44b
--- /dev/null
+++ b/tests/data/test-read-dwarf/test-suppressed-alias.c
@@ -0,0 +1,16 @@
+
+// function aliases
+
+void main_func(void);
+void alias_func(void) __attribute__((weak, alias("main_func")));
+
+void main_func(void)
+{
+
+}
+
+// variables aliases
+
+int main_var;
+extern int alias_var __attribute__((weak, alias("main_var")));
+
diff --git a/tests/data/test-read-dwarf/test-suppressed-alias.o b/tests/data/test-read-dwarf/test-suppressed-alias.o
new file mode 100644
index 0000000000000000000000000000000000000000..10d4a94a18c9c249c5ed3b60ada8c4f8cc5393ae
GIT binary patch
literal 2848
zcmbtVPjA#l6o0c$NWvyd{<M^BTFF!th=jdKg#rZywrop4MO9P@!2wvtyOWKD*QT}?
zLVG|+RYh+cDz%k*sMJe8LVNCK=?Cb!hw|QdUe-G}r#{K^-u&KQKff72|LoTFnh?Mw
z;0la)i~>A7GM3v~Y{LpH!|fa2|NZLzUob>$O5?NIeO}9@Wu_$8NEVIh4zf9i70%Rj
z80SS4acrKH)1(tK2e~<j_yxq0_^`23cN(jWC9yoS_zpnrJUER@^~?2->o-@fHftvU
zoKsM*U#UB@Sly%+gZpr`$qr|l6s3LQ$7@YYc@7_4B%ou7IDZM!;ssnCcpq0G{%tJa
zs#}Vk5Rj`Z_j}rGTEJWp7Prk?H3tocGK{;sqqqlJdLmQykWnbJE&;8lSxd(KGzt4H
znPiV!k5n3~$O}ec)c5iviL#d3&k>YSD+&V{gaa8yu>Hktx3h7<-B|ZO^4DE&n2%z$
zHBhli!yayB+S}XOzqsjbo_D>0>+Q<yS=`%8lQ<b=-Y9+=#u#1(k;(wJJDp4J*-upv
z%GgBoHa6FcsNWBlw~QdZ{u0FgqF9}unSF(Qcn@)Uh;$b}X)JzM>nt3(h6V*(xzaFA
z!9V|1DY1Q3Fn)=HCQs-c)KrmUCfC+Ea4>iiDyMjZ35+%l%)NmXc>NH3;SjuW2>!;Y
z((}1o>H|;cGDi5I0;d^WD)pf_vjC?NKUsnEFpkHx7|Y3t9giw^>?p=#8AagA38yaI
zBM@n+V8Hl_*}rY!r_7#CClP)5@>gEdDCjuldGbp*<)u7CmkXxj95XVp&yCFWyleJ%
zEZl72ff4L__}wXvzQv5);vx2Q;}F?#T#Xj*T7F;fvu8s*n#l9C;Cn3Pco%@*m$?K#
z$TIL#6-mFZg3+KG#=8mXv@C-lRZk|=GL`WFPkY%V3S-4Cm;(G>G8`(rsr@*~m5-N<
zm*uke$T+FJ?rtiF$`t-T*(&-|Pq?2Pu5ARKcgD%KOeb+en0@lM%SI*H_CJF<nkU=;
zhVkL^!y)Yb1}f~BWXt|vv7_O(EzJeRY#TkZ9h0c|+XB#B5yZ2P|2|DyxY{vE@u$`T
z+&7$=ZM%aC8zbA}23%)H!);qSPgV8bHHU)zsebyFcKv<C?3f6_bp!G_CXC3o?IKo{
z|E0;#eWLtyKiK&no0wcDZZ*9yiGF9maL&*C8^lSr{nyN4c8wo1_GA7nDp+P4;x{KQ
zgR#c8{TWq++2%V2xHxvz62CvgKcG<6zh5i*M}IB$=e}0urr0k{{+~?2^dF$Vq3uuK
e#6EinflEap*?qO&pW;^e|6%I?O-C6ow*PChA-^pE

literal 0
HcmV?d00001

diff --git a/tests/data/test-read-dwarf/test-suppressed-alias.o.abi b/tests/data/test-read-dwarf/test-suppressed-alias.o.abi
new file mode 100644
index 000000000000..c0af2d84f12a
--- /dev/null
+++ b/tests/data/test-read-dwarf/test-suppressed-alias.o.abi
@@ -0,0 +1,16 @@
+<abi-corpus path='data/test-read-dwarf/test-suppressed-alias.o'>
+  <elf-function-symbols>
+    <elf-symbol name='alias_func' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='alias_var' size='4' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='test.c' comp-dir-path='/ws/android/aosp/kernel-build-tools/external/libabigail' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='void' id='48b5725f'/>
+    <var-decl name='main_var' type-id='95e97e5e' mangled-name='main_var' visibility='default' filepath='/ws/android/aosp/kernel-build-tools/external/libabigail/test.c' line='14' column='1' elf-symbol-id='alias_var'/>
+    <function-decl name='main_func' mangled-name='main_func' filepath='/ws/android/aosp/kernel-build-tools/external/libabigail/test.c' line='7' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alias_func'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test-suppressed-alias.suppr b/tests/data/test-read-dwarf/test-suppressed-alias.suppr
new file mode 100644
index 000000000000..3f0790a23f8c
--- /dev/null
+++ b/tests/data/test-read-dwarf/test-suppressed-alias.suppr
@@ -0,0 +1,7 @@
+[suppress_function]
+  symbol_name = main_func
+  drop = true
+
+[suppress_variable]
+  symbol_name = main_var
+  drop = true
diff --git a/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
new file mode 100644
index 000000000000..1ed4b0612886
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
@@ -0,0 +1,14 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-1.suppr b/tests/data/test-read-dwarf/test3-alias-1.suppr
new file mode 100644
index 000000000000..b347500d4c4e
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-1.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_not_regexp = ^__foo$
+  drop = true
diff --git a/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
new file mode 100644
index 000000000000..50a53f97bf84
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
@@ -0,0 +1,18 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='__foo__' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-2.suppr b/tests/data/test-read-dwarf/test3-alias-2.suppr
new file mode 100644
index 000000000000..b6d203d53c2b
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-2.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_regexp = ^__foo$
+  drop = true
diff --git a/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
new file mode 100644
index 000000000000..6de4d59b13d5
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
@@ -0,0 +1,14 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-3.suppr b/tests/data/test-read-dwarf/test3-alias-3.suppr
new file mode 100644
index 000000000000..66cd33a8d353
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-3.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_not_regexp = ^foo$
+  drop = true
diff --git a/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi b/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
new file mode 100644
index 000000000000..b26d12f80e61
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
@@ -0,0 +1,8 @@
+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
+  <elf-needed>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+</abi-corpus>
diff --git a/tests/data/test-read-dwarf/test3-alias-4.suppr b/tests/data/test-read-dwarf/test3-alias-4.suppr
new file mode 100644
index 000000000000..25a2c437f51e
--- /dev/null
+++ b/tests/data/test-read-dwarf/test3-alias-4.suppr
@@ -0,0 +1,3 @@
+[suppress_function]
+  symbol_name_not_regexp = ^_init$
+  drop = true
diff --git a/tests/test-abidiff-exit.cc b/tests/test-abidiff-exit.cc
index 4283e1455d67..38f1301eb924 100644
--- a/tests/test-abidiff-exit.cc
+++ b/tests/test-abidiff-exit.cc
@@ -392,6 +392,17 @@ InOutSpec in_out_specs[] =
     "data/test-abidiff-exit/test-non-leaf-array-report.txt",
     "output/test-abidiff-exit/test-non-leaf-array-report.txt"
   },
+  {
+    "data/test-abidiff-exit/test-missing-alias.abi",
+    "data/test-abidiff-exit/test-missing-alias.abi",
+    "data/test-abidiff-exit/test-missing-alias.suppr",
+    "",
+    "",
+    "",
+    abigail::tools_utils::ABIDIFF_OK,
+    "data/test-abidiff-exit/test-missing-alias-report.txt",
+    "output/test-abidiff-exit/test-missing-alias-report.txt"
+  },
   {0, 0, 0 ,0, 0, 0, abigail::tools_utils::ABIDIFF_OK, 0, 0}
 };
 
diff --git a/tests/test-read-dwarf.cc b/tests/test-read-dwarf.cc
index 1212e11c0663..e327909fb803 100644
--- a/tests/test-read-dwarf.cc
+++ b/tests/test-read-dwarf.cc
@@ -110,6 +110,46 @@ InOutSpec in_out_specs[] =
     "data/test-read-dwarf/test3.so.hash.abi",
     "output/test-read-dwarf/test3.so.hash.abi"
   },
+  // suppress all except the main symbol of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-1.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-1.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-1.so.hash.abi"
+  },
+  // suppress the main symbol of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-2.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-2.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-2.so.hash.abi"
+  },
+  // suppress all except one non main symbol of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-3.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-3.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-3.so.hash.abi"
+  },
+  // suppress all symbols of a group of aliases
+  {
+    "data/test-read-dwarf/test3.so",
+    "data/test-read-dwarf/test3-alias-4.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test3-alias-4.so.hash.abi",
+    "output/test-read-dwarf/test3-alias-4.so.hash.abi"
+  },
+  // suppress the main symbols with alias (function+variable) in .o file
+  {
+    "data/test-read-dwarf/test-suppressed-alias.o",
+    "data/test-read-dwarf/test-suppressed-alias.suppr",
+    HASH_TYPE_ID_STYLE,
+    "data/test-read-dwarf/test-suppressed-alias.o.abi",
+    "output/test-read-dwarf/test-suppressed-alias.o.abi",
+  },
   {
     "data/test-read-dwarf/test4.so",
     "",
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 19/20] abg-writer.cc: fix write_elf_symbol_reference loop
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (17 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 18/20] dwarf-reader/writer: consider aliases when dealing with suppressions Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-17 16:11     ` Dodji Seketeli
  2021-01-27 12:58   ` [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
  2021-03-29 13:19   ` [GIT PULL] Refactor (k)symtab reader Matthias Maennich
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

From: Giuliano Procida <gprocida@google.com>

The function write_elf_symbol_reference iterates through aliases,
looking for an unsuppressed alias to use. The existing code went wrong
in the case when aliases are present. In the case of all symbols
suppressed, it would also have selected the last alias, rather than
the first, if the data structure invariants had matched the code's
expectations.

The main symbol is always distinguished. When aliases are absent, the
sole symbol's next pointer is null, but when aliases are present, they
form a circular list. This makes traversal of aliases a bit tricky.

The code now picks the first symbol from the following:

- the given symbol, if unsuppressed
- the main symbol, if unsuppressed
- the unsuppressed aliases in the remainder of the alias chain
- the main symbol (suppressed)

The given symbol, which need not be the same as the main symbol, will
be tested twice, if suppressed, but addressing this would make the
code even more elaborate and fragile.

The last case may be unreachable if symbol suppression triggers when
all aliases are suppressed.

I left this change stand-alone for easier review and to credit Giuliano for his
work on it, though it fixes a previous commit.

	* src/abg-writer.cc (write_elf_symbol_reference): Check main
	symbol and aliases with more care.

Fixes: commmit ("dwarf-reader/writer: consider aliases when dealing with suppressions")
Signed-off-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-writer.cc | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index c2fdd8f0a043..4985174d3abd 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -1728,10 +1728,28 @@ write_elf_symbol_aliases(const elf_symbol& sym, ostream& out)
 static bool
 write_elf_symbol_reference(const elf_symbol& sym, ostream& o)
 {
-  auto actual_sym = &sym;
-  while (actual_sym->is_suppressed() && actual_sym->has_aliases())
-    actual_sym = actual_sym->get_next_alias().get();
-  o << " elf-symbol-id='" << actual_sym->get_id_string() << "'";
+  const elf_symbol* main = sym.get_main_symbol().get();
+  const elf_symbol* alias = &sym;
+  bool found = !alias->is_suppressed();
+  // If the symbol itself is suppressed, check the alias chain.
+  if (!found)
+    {
+      alias = main;
+      found = !alias->is_suppressed();
+    }
+  // If the main symbol is suppressed, search the remainder of the chain.
+  while (!found)
+    {
+      alias = alias->get_next_alias().get();
+      // Two separate termination conditions at present.
+      if (!alias || alias == main)
+        break;
+      found = !alias->is_suppressed();
+    }
+  // If all aliases are suppressed, just stick with the main symbol.
+  if (!found)
+    alias = main;
+  o << " elf-symbol-id='" << alias->get_id_string() << "'";
   return true;
 }
 
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums)
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (18 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 19/20] abg-writer.cc: fix write_elf_symbol_reference loop Matthias Maennich
@ 2021-01-27 12:58   ` Matthias Maennich
  2021-03-17 17:13     ` Dodji Seketeli
  2021-03-19 18:15     ` Dodji Seketeli
  2021-03-29 13:19   ` [GIT PULL] Refactor (k)symtab reader Matthias Maennich
  20 siblings, 2 replies; 91+ messages in thread
From: Matthias Maennich @ 2021-01-27 12:58 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The Linux Kernel has a mechanism (MODVERSIONS) to checksum symbols based
on their type. In a way similar to what libabigail does, but different.
The CRC values for symbols can be extracted from the symtab either by
following the __kcrctab_<symbol> entry or by using the __crc_<symbol>
value directly.

This patch adds support for extracting those CRC values and storing them
as a property of elf_symbol. Subsequently, 'crc' gets emitted as an
attribute of 'elf-symbol' in the XML representation.

CRC comparisons are also added to the abidiff machinery such that if
both representations of a comparison contain a CRC value, they will be
compared and if any of the values is unset (i.e. == 0), equality is
assumed. Differences will be reported in the format that the Kernel
presents them e.g. via Module.symvers. It is likely, but not necessary,
that a CRC difference comes along with an ABI difference reported by
libabigail. Not everything that leads to a change of the CRC value an
ABI breakage in the libabigail sense.

In case a function or variable symbol changes in a harmless way, we
would previously also consider a CRC change harmless (or more precise:
not harmful). Explicitly testing for CRC changes when analyzing whether
diff nodes need to be considered harmful, allows to still classify them
harmful.

Also add some test cases to ensure reading CRC values from kernel
binaries works as expected. The empty-report files have been
consolidated to one file: empty-report.txt. That also clarifies the
expected outcome for the affected tests.

	* include/abg-ir.h (elf_symbol::elf_symbol): Add CRC parameter.
	(elf_symbol::create): Likewise.
	(elf_symbol::get_crc): New member method.
	(elf_symbol::set_crc): New member method.
	* src/abg-comp-filter.cc (crc_changed): New function.
	(categorize_harmful_diff_node): Also test for CRC changes.
	* src/abg-ir.cc (elf_symbol::priv::crc_): New data member.
	* src/abg-ir.cc (elf_symbol::priv::priv): Add CRC parameter.
	(elf_symbol::elf_symbol): Likewise.
	(elf_symbol::create): Likewise.
	(elf_symbol::textually_equals): Add CRC support.
	(elf_symbol::get_crc): New member method.
	(elf_symbol::set_crc): New member method.
	* src/abg-reader.cc (build_elf_symbol): Add CRC support.
	* src/abg-reporter-priv.cc (maybe_report_diff_for_symbol): Likewise.
	* src/abg-symtab-reader.cc (symtab::load): Likewise.
	* src/abg-writer.cc (write_elf_symbol): Likewise.
	* tests/data/Makefile.am: Add new test data files.
	* tests/data/test-abidiff-exit/test-crc-report.txt: New test file.
	* tests/data/test-abidiff-exit/test-crc-v0.abi: Likewise.
	* tests/data/test-abidiff-exit/test-crc-v1.abi: Likewise.
	* tests/data/test-abidiff/empty-report.txt: New file.
	* tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt: Deleted.
	* tests/data/test-abidiff/test-PR24552-report0.txt: Deleted.
	* tests/data/test-abidiff/test-crc-0.xml: New test file.
	* tests/data/test-abidiff/test-crc-1.xml: Likewise.
	* tests/data/test-abidiff/test-crc-2.xml: Likewise.
	* tests/data/test-abidiff/test-crc-report.txt: Likewise.
	* tests/data/test-abidiff/test-empty-corpus-report.txt: Deleted.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Add CRC values.
	* tests/data/test-read-write/test-crc.xml: New test data file.
	* tests/data/test-symtab/kernel-modversions/Makefile: New test source.
	* tests/data/test-symtab/kernel-modversions/one_of_each.c: Likewise.
	* tests/data/test-symtab/kernel-modversions/one_of_each.ko: Likewise.
	* tests/test-abidiff-exit.cc: Add new test case.
	* tests/test-abidiff.cc: Add new test case.
	* tests/test-read-write.cc: Likewise.
	* tests/test-symtab.cc (Symtab::KernelSymtabsWithCRC): New test case.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 include/abg-ir.h                              |    8 +
 src/abg-comp-filter.cc                        |   39 +-
 src/abg-ir.cc                                 |   22 +-
 src/abg-reader.cc                             |    8 +
 src/abg-reporter-priv.cc                      |   18 +-
 src/abg-symtab-reader.cc                      |   19 +
 src/abg-writer.cc                             |    6 +
 tests/data/Makefile.am                        |   17 +-
 .../test-abidiff-exit/test-crc-report.txt     |   15 +
 tests/data/test-abidiff-exit/test-crc-v0.abi  |   29 +
 tests/data/test-abidiff-exit/test-crc-v1.abi  |   30 +
 ...ibtirpc.so.report.txt => empty-report.txt} |    0
 .../test-abidiff/test-PR24552-report0.txt     |    3 -
 tests/data/test-abidiff/test-crc-0.xml        | 1601 +++++++++++++++++
 tests/data/test-abidiff/test-crc-1.xml        | 1601 +++++++++++++++++
 tests/data/test-abidiff/test-crc-2.xml        | 1601 +++++++++++++++++
 tests/data/test-abidiff/test-crc-report.txt   |    9 +
 .../test-abidiff/test-empty-corpus-report.txt |    3 -
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   72 +-
 tests/data/test-read-write/test-crc.xml       |   10 +
 .../test-symtab/kernel-modversions/Makefile   |   19 +
 .../kernel-modversions/one_of_each.c          |    1 +
 .../kernel-modversions/one_of_each.ko         |  Bin 0 -> 131760 bytes
 tests/test-abidiff-exit.cc                    |   11 +
 tests/test-abidiff.cc                         |   34 +-
 tests/test-read-write.cc                      |    6 +
 tests/test-symtab.cc                          |   15 +
 27 files changed, 5138 insertions(+), 59 deletions(-)
 create mode 100644 tests/data/test-abidiff-exit/test-crc-report.txt
 create mode 100644 tests/data/test-abidiff-exit/test-crc-v0.abi
 create mode 100644 tests/data/test-abidiff-exit/test-crc-v1.abi
 rename tests/data/test-abidiff/{test-PR18166-libtirpc.so.report.txt => empty-report.txt} (100%)
 delete mode 100644 tests/data/test-abidiff/test-PR24552-report0.txt
 create mode 100644 tests/data/test-abidiff/test-crc-0.xml
 create mode 100644 tests/data/test-abidiff/test-crc-1.xml
 create mode 100644 tests/data/test-abidiff/test-crc-2.xml
 create mode 100644 tests/data/test-abidiff/test-crc-report.txt
 delete mode 100644 tests/data/test-abidiff/test-empty-corpus-report.txt
 create mode 100644 tests/data/test-read-write/test-crc.xml
 create mode 100644 tests/data/test-symtab/kernel-modversions/Makefile
 create mode 120000 tests/data/test-symtab/kernel-modversions/one_of_each.c
 create mode 100644 tests/data/test-symtab/kernel-modversions/one_of_each.ko

diff --git a/include/abg-ir.h b/include/abg-ir.h
index a14ee1c23784..555bb769ba50 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -840,6 +840,7 @@ private:
 	     visibility		vi,
 	     bool		is_linux_string_cst = false,
 	     bool		is_in_ksymtab = false,
+	     uint64_t		crc = 0,
 	     bool		is_suppressed = false);
 
   elf_symbol(const elf_symbol&);
@@ -865,6 +866,7 @@ public:
 	 visibility	    vi,
 	 bool		    is_linux_string_cst = false,
 	 bool		    is_in_ksymtab = false,
+	 uint64_t	    crc = 0,
 	 bool		    is_suppressed = false);
 
   const environment*
@@ -939,6 +941,12 @@ public:
   void
   set_is_in_ksymtab(bool is_in_ksymtab);
 
+  uint64_t
+  get_crc() const;
+
+  void
+  set_crc(uint64_t crc);
+
   bool
   is_suppressed() const;
 
diff --git a/src/abg-comp-filter.cc b/src/abg-comp-filter.cc
index a0280d8eddf1..0734b56ec2ee 100644
--- a/src/abg-comp-filter.cc
+++ b/src/abg-comp-filter.cc
@@ -218,6 +218,42 @@ access_changed(const decl_base_sptr& f, const decl_base_sptr& s)
   return false;
 }
 
+/// Test if there was a function or variable CRC change.
+///
+/// @param f the first function or variable to consider.
+///
+/// @param s the second function or variable to consider.
+///
+/// @return true if the test is positive, false otherwise.
+template <typename function_or_var_decl_sptr>
+static bool
+crc_changed(const function_or_var_decl_sptr& f,
+	    const function_or_var_decl_sptr& s)
+{
+  const auto symbol_f  = f->get_symbol(), symbol_s = s->get_symbol();
+  if (!symbol_f || !symbol_s)
+    return false;
+  const auto crc_f = symbol_f->get_crc(), crc_s = symbol_s->get_crc();
+  return (crc_f != 0 && crc_s != 0 && crc_f != crc_s);
+}
+
+/// Test if the current diff tree node carries a CRC change in either a
+/// function or a variable.
+///
+/// @param diff the diff tree node to consider.
+///
+/// @return true if the test is positive, false otherwise.
+static bool
+crc_changed(const diff* diff)
+{
+  if (const function_decl_diff* d =
+	dynamic_cast<const function_decl_diff*>(diff))
+    return crc_changed(d->first_function_decl(), d->second_function_decl());
+  if (const var_diff* d = dynamic_cast<const var_diff*>(diff))
+    return crc_changed(d->first_var(), d->second_var());
+  return false;
+}
+
 /// Test if there was a function name change, but there there was no
 /// change in name of the underlying symbol.  IOW, if the name of a
 /// function changed, but the symbol of the new function is equal to
@@ -1717,7 +1753,8 @@ categorize_harmful_diff_node(diff *d, bool pre)
 	      || non_static_data_member_type_size_changed(f, s)
 	      || non_static_data_member_added_or_removed(d)
 	      || base_classes_added_or_removed(d)
-	      || has_harmful_enum_change(d)))
+	      || has_harmful_enum_change(d)
+	      || crc_changed(d)))
 	category |= SIZE_OR_OFFSET_CHANGE_CATEGORY;
 
       if (has_virtual_mem_fn_change(d))
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 0b31f2014189..64dfffbf4011 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -11,6 +11,7 @@
 
 #include <cxxabi.h>
 #include <algorithm>
+#include <cstdint>
 #include <functional>
 #include <iterator>
 #include <memory>
@@ -1311,6 +1312,7 @@ struct elf_symbol::priv
   bool			is_common_;
   bool			is_linux_string_cst_;
   bool			is_in_ksymtab_;
+  uint64_t		crc_;
   bool			is_suppressed_;
   elf_symbol_wptr	main_symbol_;
   elf_symbol_wptr	next_alias_;
@@ -1328,6 +1330,7 @@ struct elf_symbol::priv
       is_common_(false),
       is_linux_string_cst_(false),
       is_in_ksymtab_(false),
+      crc_(0),
       is_suppressed_(false)
   {}
 
@@ -1343,6 +1346,7 @@ struct elf_symbol::priv
        elf_symbol::visibility	  vi,
        bool			  is_linux_string_cst,
        bool			  is_in_ksymtab,
+       uint64_t			  crc,
        bool			  is_suppressed)
     : env_(e),
       index_(i),
@@ -1356,6 +1360,7 @@ struct elf_symbol::priv
       is_common_(c),
       is_linux_string_cst_(is_linux_string_cst),
       is_in_ksymtab_(is_in_ksymtab),
+      crc_(crc),
       is_suppressed_(is_suppressed)
   {
     if (!is_common_)
@@ -1414,6 +1419,7 @@ elf_symbol::elf_symbol(const environment* e,
 		       visibility	  vi,
 		       bool		  is_linux_string_cst,
 		       bool		  is_in_ksymtab,
+		       uint64_t		  crc,
 		       bool		  is_suppressed)
   : priv_(new priv(e,
 		   i,
@@ -1427,6 +1433,7 @@ elf_symbol::elf_symbol(const environment* e,
 		   vi,
 		   is_linux_string_cst,
 		   is_in_ksymtab,
+		   crc,
 		   is_suppressed))
 {}
 
@@ -1486,11 +1493,12 @@ elf_symbol::create(const environment* e,
 		   visibility	      vi,
 		   bool		      is_linux_string_cst,
 		   bool		      is_in_ksymtab,
+		   uint64_t	      crc,
 		   bool		      is_suppressed)
 {
   elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve, vi,
 				     is_linux_string_cst,
-				     is_in_ksymtab, is_suppressed));
+				     is_in_ksymtab, crc, is_suppressed));
   sym->priv_->main_symbol_ = sym;
   return sym;
 }
@@ -1511,7 +1519,9 @@ textually_equals(const elf_symbol&l,
 		 && l.is_public() == r.is_public()
 		 && l.is_defined() == r.is_defined()
 		 && l.is_common_symbol() == r.is_common_symbol()
-		 && l.get_version() == r.get_version());
+		 && l.get_version() == r.get_version()
+		 && (l.get_crc() == 0 || r.get_crc() == 0
+		     || l.get_crc() == r.get_crc()));
 
   if (equals && l.is_variable())
     // These are variable symbols.  Let's compare their symbol size.
@@ -1718,6 +1728,14 @@ void
 elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
 {priv_->is_in_ksymtab_ = is_in_ksymtab;}
 
+uint64_t
+elf_symbol::get_crc() const
+{return priv_->crc_;}
+
+void
+elf_symbol::set_crc(uint64_t crc)
+{priv_->crc_ = crc;}
+
 bool
 elf_symbol::is_suppressed() const
 {return priv_->is_suppressed_;}
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index e0269436ee89..42985e5a7496 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -2769,6 +2769,10 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 	is_default_version = true;
     }
 
+  uint64_t crc = 0;
+  if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "crc"))
+    crc = strtoull(CHAR_STR(s), NULL, 0);
+
   elf_symbol::type type = elf_symbol::NOTYPE_TYPE;
   read_elf_symbol_type(node, type);
 
@@ -2792,6 +2796,10 @@ build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
 					 /*is_linux_string_cst=*/false);
 
   e->set_is_suppressed(is_suppressed);
+
+  if (crc != 0)
+    e->set_crc(crc);
+
   return e;
 }
 
diff --git a/src/abg-reporter-priv.cc b/src/abg-reporter-priv.cc
index 1a7f09df63eb..c0b26d086c36 100644
--- a/src/abg-reporter-priv.cc
+++ b/src/abg-reporter-priv.cc
@@ -42,8 +42,7 @@ emit_num_value(uint64_t value, const diff_context& ctxt, ostream& out)
     out << std::hex << std::showbase ;
   else
     out << std::dec;
-  out << value;
-  out << std::dec << std::noshowbase;
+  out << value << std::dec << std::noshowbase;
 }
 
 /// Convert a bits value into a byte value if the current diff context
@@ -1179,6 +1178,21 @@ maybe_report_diff_for_symbol(const elf_symbol_sptr&	symbol1,
       reported = true;
     }
 
+  if (symbol1->get_crc() != 0 && symbol2->get_crc() != 0
+      && symbol1->get_crc() != symbol2->get_crc())
+    {
+      if (reported)
+	out << ",\n" << indent << "its CRC (modversions) changed from ";
+      else
+	out << "\n" << indent << "CRC value (modversions) changed from ";
+
+      out << std::showbase << std::hex
+	  << symbol1->get_crc() << " to " << symbol2->get_crc()
+	  << std::noshowbase << std::dec;
+
+      reported = true;
+    }
+
   if (reported)
     out << "\n";
 
diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
index 512fbc20adc0..8ee90c590a94 100644
--- a/src/abg-symtab-reader.cc
+++ b/src/abg-symtab-reader.cc
@@ -12,6 +12,7 @@
 
 #include <algorithm>
 #include <iostream>
+#include <unordered_map>
 #include <unordered_set>
 
 #include "abg-elf-helpers.h"
@@ -202,6 +203,7 @@ symtab::load_(Elf*	       elf_handle,
 
   const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
   std::unordered_set<std::string> exported_kernel_symbols;
+  std::unordered_map<std::string, uint64_t> crc_values;
 
   const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle);
 
@@ -249,6 +251,11 @@ symtab::load_(Elf*	       elf_handle,
 	  ABG_ASSERT(exported_kernel_symbols.insert(name.substr(10)).second);
 	  continue;
 	}
+      if (is_kernel && name.rfind("__crc_", 0) == 0)
+	{
+	  ABG_ASSERT(crc_values.emplace(name.substr(6), sym->st_value).second);
+	  continue;
+	}
 
       // filter out uninteresting entries and only keep functions/variables for
       // now. The rest might be interesting in the future though.
@@ -338,6 +345,18 @@ symtab::load_(Elf*	       elf_handle,
       has_ksymtab_entries_ = true;
     }
 
+  // Now add the CRC values
+  for (const auto& crc_entry : crc_values)
+    {
+      const auto r = name_symbol_map_.find(crc_entry.first);
+      if (r == name_symbol_map_.end())
+	continue;
+
+      for (const auto& symbol : r->second) {
+	symbol->set_crc(crc_entry.second);
+      }
+    }
+
   // sort the symbols for deterministic output
   std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
 
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 4985174d3abd..8a1fc2495506 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -15,6 +15,7 @@
 #include <algorithm>
 #include <fstream>
 #include <iomanip>
+#include <ios>
 #include <iostream>
 #include <memory>
 #include <sstream>
@@ -3068,6 +3069,11 @@ write_elf_symbol(const elf_symbol_sptr&	sym,
   if (sym->is_common_symbol())
     o << " is-common='yes'";
 
+  if (sym->get_crc() != 0)
+    o << " crc='"
+      << std::hex << std::showbase << sym->get_crc() << "'"
+      << std::dec << std::noshowbase;
+
   o << "/>\n";
 
   return true;
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 83e48cb8ebac..eb1577c55527 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -35,6 +35,7 @@ test-read-write/test28-without-std-fns-ref.xml \
 test-read-write/test28-drop-std-vars.abignore \
 test-read-write/test28-without-std-vars-ref.xml \
 test-read-write/test28-without-std-vars.xml \
+test-read-write/test-crc.xml \
 \
 test-write-read-archive/test0.xml \
 test-write-read-archive/test1.xml \
@@ -57,6 +58,7 @@ test-core-diff/report11.txt \
 test-core-diff/report12.txt \
 test-core-diff/report13.txt \
 \
+test-abidiff/empty-report.txt			\
 test-abidiff/test-enum0-v0.cc.bi		\
 test-abidiff/test-enum0-v1.cc.bi		\
 test-abidiff/test-enum0-report.txt		\
@@ -77,17 +79,18 @@ test-abidiff/test-var0-v1.cc.bi		\
 test-abidiff/test-var0-report.txt	\
 test-abidiff/test-PR18166-libtirpc.so \
 test-abidiff/test-PR18166-libtirpc.so.abi \
-test-abidiff/test-PR18166-libtirpc.so.report.txt \
 test-abidiff/test-PR18791-report0.txt   \
 test-abidiff/test-PR18791-v0.so.abi     \
 test-abidiff/test-PR18791-v1.so.abi     \
-test-abidiff/test-PR24552-report0.txt	\
 test-abidiff/test-PR24552-v0.abi	\
 test-abidiff/test-PR24552-v1.abi	\
 test-abidiff/test-empty-corpus-0.xml		\
 test-abidiff/test-empty-corpus-1.xml		\
 test-abidiff/test-empty-corpus-2.xml		\
-test-abidiff/test-empty-corpus-report.txt	\
+test-abidiff/test-crc-0.xml \
+test-abidiff/test-crc-1.xml \
+test-abidiff/test-crc-2.xml \
+test-abidiff/test-crc-report.txt \
 \
 test-abidiff-exit/test1-voffset-change-report0.txt \
 test-abidiff-exit/test1-voffset-change-report1.txt \
@@ -197,6 +200,9 @@ test-abidiff-exit/test-non-leaf-array-v0.o \
 test-abidiff-exit/test-non-leaf-array-v1.c \
 test-abidiff-exit/test-non-leaf-array-v1.o \
 test-abidiff-exit/test-non-leaf-array-report.txt \
+test-abidiff-exit/test-crc-report.txt \
+test-abidiff-exit/test-crc-v0.abi \
+test-abidiff-exit/test-crc-v1.abi \
 test-abidiff-exit/test-missing-alias-report.txt \
 test-abidiff-exit/test-missing-alias.abi \
 test-abidiff-exit/test-missing-alias.suppr \
@@ -1951,4 +1957,7 @@ test-symtab/kernel-5.6/single_function_gpl.ko \
 test-symtab/kernel-5.6/single_variable.c \
 test-symtab/kernel-5.6/single_variable.ko \
 test-symtab/kernel-5.6/single_variable_gpl.c \
-test-symtab/kernel-5.6/single_variable_gpl.ko
+test-symtab/kernel-5.6/single_variable_gpl.ko \
+test-symtab/kernel-modversions/Makefile \
+test-symtab/kernel-modversions/one_of_each.c \
+test-symtab/kernel-modversions/one_of_each.ko
diff --git a/tests/data/test-abidiff-exit/test-crc-report.txt b/tests/data/test-abidiff-exit/test-crc-report.txt
new file mode 100644
index 000000000000..ddba41f40dad
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-crc-report.txt
@@ -0,0 +1,15 @@
+Functions changes summary: 0 Removed, 1 Changed (1 filtered out), 0 Added functions
+Variables changes summary: 0 Removed, 1 Changed, 0 Added variable
+
+1 function with some indirect sub-type change:
+
+  [C] 'function void func1(E)' has some indirect sub-type changes:
+
+    CRC value (modversions) changed from 0x10000001 to 0x10000002
+
+1 Changed variable:
+
+  [C] 'int var1' was changed:
+
+    CRC value (modversions) changed from 0x30000001 to 0x30000002
+
diff --git a/tests/data/test-abidiff-exit/test-crc-v0.abi b/tests/data/test-abidiff-exit/test-crc-v0.abi
new file mode 100644
index 000000000000..320899fc97ff
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-crc-v0.abi
@@ -0,0 +1,29 @@
+<abi-corpus path='out1.o' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='func1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x10000001'/>
+    <elf-symbol name='func2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x20000001'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='var1' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x30000001'/>
+    <elf-symbol name='var2' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x40000001'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='test1.c' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-2'/>
+    <type-decl name='void' id='type-id-3'/>
+    <enum-decl name='E' id='type-id-4'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='VALUE_OLD' value='0'/>
+    </enum-decl>
+    <var-decl name='var1' type-id='type-id-1' mangled-name='var1' visibility='default' elf-symbol-id='var1'/>
+    <var-decl name='var2' type-id='type-id-1' mangled-name='var2' visibility='default' elf-symbol-id='var2'/>
+    <function-decl name='func2' mangled-name='func2' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='func2'>
+      <parameter type-id='type-id-4' name='e'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='func1' mangled-name='func1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='func1'>
+      <parameter type-id='type-id-4' name='e'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff-exit/test-crc-v1.abi b/tests/data/test-abidiff-exit/test-crc-v1.abi
new file mode 100644
index 000000000000..0baa66e4766b
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-crc-v1.abi
@@ -0,0 +1,30 @@
+<abi-corpus path='out2.o' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='func1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x10000002'/>
+    <elf-symbol name='func2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x20000001'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='var1' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x30000002'/>
+    <elf-symbol name='var2' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x40000001'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='test2.c' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-2'/>
+    <type-decl name='void' id='type-id-3'/>
+    <enum-decl name='E' id='type-id-4'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='VALUE_OLD' value='0'/>
+      <enumerator name='VALUE_NEW' value='1'/>
+    </enum-decl>
+    <var-decl name='var1' type-id='type-id-1' mangled-name='var1' visibility='default' elf-symbol-id='var1'/>
+    <var-decl name='var2' type-id='type-id-1' mangled-name='var2' visibility='default' elf-symbol-id='var2'/>
+    <function-decl name='func2' mangled-name='func2' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='func2'>
+      <parameter type-id='type-id-4' name='e'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='func1' mangled-name='func1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='func1'>
+      <parameter type-id='type-id-4' name='e'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt b/tests/data/test-abidiff/empty-report.txt
similarity index 100%
rename from tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt
rename to tests/data/test-abidiff/empty-report.txt
diff --git a/tests/data/test-abidiff/test-PR24552-report0.txt b/tests/data/test-abidiff/test-PR24552-report0.txt
deleted file mode 100644
index a9d032e74e35..000000000000
--- a/tests/data/test-abidiff/test-PR24552-report0.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Functions changes summary: 0 Removed, 0 Changed, 0 Added function
-Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
-
diff --git a/tests/data/test-abidiff/test-crc-0.xml b/tests/data/test-abidiff/test-crc-0.xml
new file mode 100644
index 000000000000..a5cdee7adcec
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-0.xml
@@ -0,0 +1,1601 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <var-decl name='exported_variable' type-id='type-id-1' mangled-name='exported_variable' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='9' column='1' elf-symbol-id='exported_variable'/>
+    <var-decl name='exported_variable_gpl' type-id='type-id-1' mangled-name='exported_variable_gpl' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='12' column='1' elf-symbol-id='exported_variable_gpl'/>
+    <function-decl name='exported_function' mangled-name='exported_function' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='3' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='exported_function'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.mod.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+
+
+
+
+
+
+
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-4'>
+      <subrange length='4' type-id='type-id-5' id='type-id-6'/>
+
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-8'/>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='2048' id='type-id-10'>
+      <subrange length='32' type-id='type-id-5' id='type-id-11'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='192' id='type-id-12'>
+      <subrange length='3' type-id='type-id-5' id='type-id-13'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-14'>
+      <subrange length='2048' type-id='type-id-5' id='type-id-15'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='448' id='type-id-16'>
+      <subrange length='56' type-id='type-id-5' id='type-id-17'/>
+
+    </array-type-def>
+    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <class-decl name='exception_table_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/>
+    <class-decl name='file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-20'/>
+    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-21'/>
+    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-22'/>
+    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-23'/>
+    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/>
+    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-27'/>
+    <class-decl name='task_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
+    <class-decl name='vm_operations_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-30'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-31'/>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-32'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-33'/>
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='384' id='type-id-35'>
+      <subrange length='2' type-id='type-id-5' id='type-id-36'/>
+
+    </array-type-def>
+    <type-decl name='short int' size-in-bits='16' id='type-id-37'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-38'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-39'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-40'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-41'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='2816' id='type-id-42'>
+      <subrange length='44' type-id='type-id-5' id='type-id-43'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-5' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <class-decl name='module' size-in-bits='4608' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='347' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-48' visibility='default' filepath='./include/linux/module.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/module.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='./include/linux/module.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mkobj' type-id='type-id-50' visibility='default' filepath='./include/linux/module.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='modinfo_attrs' type-id='type-id-51' visibility='default' filepath='./include/linux/module.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='version' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='srcversion' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='holders_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='num_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='kp' type-id='type-id-56' visibility='default' filepath='./include/linux/module.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='num_kp' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='num_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='unused_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='unused_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='num_unused_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='num_unused_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='unused_gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='unused_gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='async_probe_requested' type-id='type-id-57' visibility='default' filepath='./include/linux/module.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='gpl_future_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='gpl_future_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='401' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='num_gpl_future_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='num_exentries' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='extable' type-id='type-id-58' visibility='default' filepath='./include/linux/module.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='init' type-id='type-id-59' visibility='default' filepath='./include/linux/module.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='core_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='init_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='arch' type-id='type-id-61' visibility='default' filepath='./include/linux/module.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='taints' type-id='type-id-5' visibility='default' filepath='./include/linux/module.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='args' type-id='type-id-9' visibility='default' filepath='./include/linux/module.h' line='441' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='module_state' filepath='./include/linux/module.h' line='295' column='1' id='type-id-48'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='MODULE_STATE_LIVE' value='0'/>
+      <enumerator name='MODULE_STATE_COMING' value='1'/>
+      <enumerator name='MODULE_STATE_GOING' value='2'/>
+      <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
+    </enum-decl>
+    <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/types.h' line='181' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='42' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/module.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='drivers_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mp' type-id='type-id-65' visibility='default' filepath='./include/linux/module.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='kobj_completion' type-id='type-id-66' visibility='default' filepath='./include/linux/module.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='65' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kobject.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='type-id-53' visibility='default' filepath='./include/linux/kobject.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='kset' type-id='type-id-67' visibility='default' filepath='./include/linux/kobject.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ktype' type-id='type-id-68' visibility='default' filepath='./include/linux/kobject.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sd' type-id='type-id-69' visibility='default' filepath='./include/linux/kobject.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='kref' type-id='type-id-70' visibility='default' filepath='./include/linux/kobject.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='state_initialized' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='state_in_sysfs' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='state_add_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='state_remove_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='uevent_suppress' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kset' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='193' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='list_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/kobject.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/kobject.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='uevent_ops' type-id='type-id-73' visibility='default' filepath='./include/linux/kobject.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='spinlock_t' type-id='type-id-74' filepath='./include/linux/spinlock_types.h' line='73' column='1' id='type-id-72'/>
+    <class-decl name='spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='61' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='62' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='rlock' type-id='type-id-76' visibility='default' filepath='./include/linux/spinlock_types.h' line='63' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='raw_spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='20' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raw_lock' type-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='arch_spinlock_t' type-id='type-id-78' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-77'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-78'/>
+    <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='157' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter' type-id='type-id-80' visibility='default' filepath='./include/linux/kobject.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-81' visibility='default' filepath='./include/linux/kobject.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='uevent' type-id='type-id-82' visibility='default' filepath='./include/linux/kobject.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='149' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argv' type-id='type-id-12' visibility='default' filepath='./include/linux/kobject.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='envp' type-id='type-id-10' visibility='default' filepath='./include/linux/kobject.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='envp_idx' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='buf' type-id='type-id-14' visibility='default' filepath='./include/linux/kobject.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18656'>
+        <var-decl name='buflen' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='154' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_type' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='139' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='release' type-id='type-id-85' visibility='default' filepath='./include/linux/kobject.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sysfs_ops' type-id='type-id-86' visibility='default' filepath='./include/linux/kobject.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='default_attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/kobject.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_groups' type-id='type-id-88' visibility='default' filepath='./include/linux/kobject.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='child_ns_type' type-id='type-id-89' visibility='default' filepath='./include/linux/kobject.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='namespace' type-id='type-id-90' visibility='default' filepath='./include/linux/kobject.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_ownership' type-id='type-id-91' visibility='default' filepath='./include/linux/kobject.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='223' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show' type-id='type-id-93' visibility='default' filepath='./include/linux/sysfs.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='store' type-id='type-id-94' visibility='default' filepath='./include/linux/sysfs.h' line='225' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ssize_t' type-id='type-id-95' filepath='./include/linux/types.h' line='60' column='1' id='type-id-96'/>
+    <typedef-decl name='__kernel_ssize_t' type-id='type-id-97' filepath='./include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-95'/>
+    <typedef-decl name='__kernel_long_t' type-id='type-id-31' filepath='./include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-97'/>
+    <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='30' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/sysfs.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='umode_t' type-id='type-id-46' filepath='./include/linux/types.h' line='19' column='1' id='type-id-99'/>
+    <typedef-decl name='size_t' type-id='type-id-100' filepath='./include/linux/types.h' line='55' column='1' id='type-id-101'/>
+    <typedef-decl name='__kernel_size_t' type-id='type-id-102' filepath='./include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-100'/>
+    <typedef-decl name='__kernel_ulong_t' type-id='type-id-5' filepath='./include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-102'/>
+    <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='84' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_visible' type-id='type-id-104' visibility='default' filepath='./include/linux/sysfs.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_bin_visible' type-id='type-id-105' visibility='default' filepath='./include/linux/sysfs.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/sysfs.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bin_attrs' type-id='type-id-106' visibility='default' filepath='./include/linux/sysfs.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='161' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/sysfs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-101' visibility='default' filepath='./include/linux/sysfs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='private' type-id='type-id-108' visibility='default' filepath='./include/linux/sysfs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='read' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='write' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mmap' type-id='type-id-110' visibility='default' filepath='./include/linux/sysfs.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='loff_t' type-id='type-id-111' filepath='./include/linux/types.h' line='46' column='1' id='type-id-112'/>
+    <typedef-decl name='__kernel_loff_t' type-id='type-id-32' filepath='./include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-111'/>
+    <class-decl name='vm_area_struct' size-in-bits='1408' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='292' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vm_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vm_next' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vm_prev' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vm_rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rb_subtree_gap' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vm_mm' type-id='type-id-115' visibility='default' filepath='./include/linux/mm_types.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vm_page_prot' type-id='type-id-116' visibility='default' filepath='./include/linux/mm_types.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vm_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared' type-id='type-id-117' visibility='default' filepath='./include/linux/mm_types.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='anon_vma_chain' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='anon_vma' type-id='type-id-118' visibility='default' filepath='./include/linux/mm_types.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/mm_types.h' line='338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vm_pgoff' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='vm_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='vm_private_data' type-id='type-id-108' visibility='default' filepath='./include/linux/mm_types.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='vm_userfaultfd_ctx' type-id='type-id-121' visibility='default' filepath='./include/linux/mm_types.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='24' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__rb_parent_color' type-id='type-id-5' visibility='default' filepath='./include/linux/rbtree.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rb_right' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rb_left' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mm_struct' size-in-bits='6720' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='370' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='cpu_bitmap' type-id='type-id-44' visibility='default' filepath='./include/linux/mm_types.h' line='533' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='6720' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='371' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mmap' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mm_rb' type-id='type-id-125' visibility='default' filepath='./include/linux/mm_types.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vmacache_seqnum' type-id='type-id-126' visibility='default' filepath='./include/linux/mm_types.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_unmapped_area' type-id='type-id-127' visibility='default' filepath='./include/linux/mm_types.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mmap_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mmap_legacy_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='task_size' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='highest_vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pgd' type-id='type-id-128' visibility='default' filepath='./include/linux/mm_types.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mm_users' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='mm_count' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='pgtables_bytes' type-id='type-id-3' visibility='default' filepath='./include/linux/mm_types.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='map_count' type-id='type-id-1' visibility='default' filepath='./include/linux/mm_types.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='page_table_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mmap_sem' type-id='type-id-130' visibility='default' filepath='./include/linux/mm_types.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='mmlist' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='hiwater_rss' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='438' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='hiwater_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='total_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='locked_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='pinned_vm' type-id='type-id-131' visibility='default' filepath='./include/linux/mm_types.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='data_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='exec_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stack_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='def_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='arg_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='start_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='end_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='start_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='end_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='start_brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='start_stack' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='arg_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='arg_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='env_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='env_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='saved_auxv' type-id='type-id-42' visibility='default' filepath='./include/linux/mm_types.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='rss_stat' type-id='type-id-132' visibility='default' filepath='./include/linux/mm_types.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='binfmt' type-id='type-id-133' visibility='default' filepath='./include/linux/mm_types.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='context' type-id='type-id-134' visibility='default' filepath='./include/linux/mm_types.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='core_state' type-id='type-id-135' visibility='default' filepath='./include/linux/mm_types.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='user_ns' type-id='type-id-136' visibility='default' filepath='./include/linux/mm_types.h' line='488' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='exe_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='tlb_flush_pending' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='tlb_flush_batched' type-id='type-id-57' visibility='default' filepath='./include/linux/mm_types.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6440'>
+        <var-decl name='uprobes_state' type-id='type-id-137' visibility='default' filepath='./include/linux/mm_types.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='async_put_work' type-id='type-id-138' visibility='default' filepath='./include/linux/mm_types.h' line='526' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='31' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb_node' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-139' filepath='./include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-126'/>
+    <typedef-decl name='__u64' type-id='type-id-33' filepath='./include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-139'/>
+    <typedef-decl name='pgd_t' type-id='type-id-140' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-141'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-141' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgd' type-id='type-id-142' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgdval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='18' column='1' id='type-id-142'/>
+    <typedef-decl name='atomic_t' type-id='type-id-143' filepath='./include/linux/types.h' line='173' column='1' id='type-id-129'/>
+    <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-129' visibility='default' filepath='./include/linux/types.h' line='171' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-1' visibility='default' filepath='./include/linux/types.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='atomic_long_t' type-id='type-id-131' filepath='./include/asm-generic/atomic-long.h' line='12' column='1' id='type-id-3'/>
+    <typedef-decl name='atomic64_t' type-id='type-id-144' filepath='./include/linux/types.h' line='178' column='1' id='type-id-131'/>
+    <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-131' visibility='default' filepath='./include/linux/types.h' line='176' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-145' visibility='default' filepath='./include/linux/types.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s64' type-id='type-id-146' filepath='./include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-145'/>
+    <typedef-decl name='__s64' type-id='type-id-32' filepath='./include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-146'/>
+    <class-decl name='rw_semaphore' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/rwsem.h' line='35' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_lock' type-id='type-id-147' visibility='default' filepath='./include/linux/rwsem.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/rwsem.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='raw_spinlock_t' type-id='type-id-76' filepath='./include/linux/spinlock_types.h' line='29' column='1' id='type-id-147'/>
+    <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/mm_types_task.h' line='60' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='./include/linux/mm_types_task.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mm_context_t' type-id='type-id-148' filepath='./arch/x86/include/asm/mmu.h' line='57' column='1' id='type-id-134'/>
+    <class-decl name='__anonymous_struct__5' size-in-bits='576' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-134' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='13' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ctx_id' type-id='type-id-126' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tlb_gen' type-id='type-id-131' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ia32_compat' type-id='type-id-46' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='lock' type-id='type-id-149' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vdso' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vdso_image' type-id='type-id-150' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='perf_rdpmc_allowed' type-id='type-id-129' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='pkey_allocation_map' type-id='type-id-151' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='execute_only_pkey' type-id='type-id-152' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mutex' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/mutex.h' line='53' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/mutex.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mutex.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/mutex.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vdso_image' size-in-bits='832' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='13' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='alt' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alt_len' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sym_vvar_start' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sym_vvar_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym_pvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='sym_hvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='sym_VDSO32_NOTE_MASK' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sym___kernel_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym___kernel_rt_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sym___kernel_vsyscall' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_int80_landing_pad' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u16' type-id='type-id-154' filepath='./include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-151'/>
+    <typedef-decl name='__u16' type-id='type-id-46' filepath='./include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-154'/>
+    <typedef-decl name='s16' type-id='type-id-155' filepath='./include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-152'/>
+    <typedef-decl name='__s16' type-id='type-id-37' filepath='./include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-155'/>
+    <class-decl name='core_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='363' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nr_threads' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dumper' type-id='type-id-157' visibility='default' filepath='./include/linux/mm_types.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='startup' type-id='type-id-158' visibility='default' filepath='./include/linux/mm_types.h' line='366' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='358' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='task' type-id='type-id-159' visibility='default' filepath='./include/linux/mm_types.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-160' visibility='default' filepath='./include/linux/mm_types.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='completion' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/completion.h' line='26' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='done' type-id='type-id-41' visibility='default' filepath='./include/linux/completion.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait' type-id='type-id-161' visibility='default' filepath='./include/linux/completion.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='wait_queue_head_t' type-id='type-id-162' filepath='./include/linux/wait.h' line='38' column='1' id='type-id-161'/>
+    <class-decl name='wait_queue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/wait.h' line='34' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-72' visibility='default' filepath='./include/linux/wait.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-49' visibility='default' filepath='./include/linux/wait.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bool' type-id='type-id-7' filepath='./include/linux/types.h' line='30' column='1' id='type-id-57'/>
+    <class-decl name='uprobes_state' is-struct='yes' visibility='default' filepath='./include/linux/uprobes.h' line='142' column='1' id='type-id-137'/>
+    <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/workqueue.h' line='102' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-3' visibility='default' filepath='./include/linux/workqueue.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/workqueue.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='func' type-id='type-id-163' visibility='default' filepath='./include/linux/workqueue.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='work_func_t' type-id='type-id-164' filepath='./include/linux/workqueue.h' line='21' column='1' id='type-id-163'/>
+    <typedef-decl name='pgprot_t' type-id='type-id-165' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-116'/>
+    <class-decl name='pgprot' size-in-bits='64' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgprot' type-id='type-id-166' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgprotval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='19' column='1' id='type-id-166'/>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='322' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb_subtree_last' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='283' column='1' id='type-id-121'/>
+    <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/kobject_ns.h' line='39' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='./include/linux/kobject_ns.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='current_may_mount' type-id='type-id-169' visibility='default' filepath='./include/linux/kobject_ns.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grab_current_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='netlink_ns' type-id='type-id-171' visibility='default' filepath='./include/linux/kobject_ns.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='initial_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='drop_ns' type-id='type-id-172' visibility='default' filepath='./include/linux/kobject_ns.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='kobj_ns_type' filepath='./include/linux/kobject_ns.h' line='26' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
+      <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
+      <enumerator name='KOBJ_NS_TYPES' value='2'/>
+    </enum-decl>
+    <typedef-decl name='kuid_t' type-id='type-id-173' filepath='./include/linux/uidgid.h' line='23' column='1' id='type-id-174'/>
+    <class-decl name='__anonymous_struct__7' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-174' visibility='default' filepath='./include/linux/uidgid.h' line='21' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-175' visibility='default' filepath='./include/linux/uidgid.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uid_t' type-id='type-id-176' filepath='./include/linux/types.h' line='32' column='1' id='type-id-175'/>
+    <typedef-decl name='__kernel_uid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-176'/>
+    <typedef-decl name='kgid_t' type-id='type-id-177' filepath='./include/linux/uidgid.h' line='28' column='1' id='type-id-178'/>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-178' visibility='default' filepath='./include/linux/uidgid.h' line='26' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-179' visibility='default' filepath='./include/linux/uidgid.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gid_t' type-id='type-id-180' filepath='./include/linux/types.h' line='33' column='1' id='type-id-179'/>
+    <typedef-decl name='__kernel_gid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-180'/>
+    <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='131' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='active' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parent' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kernfs.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/kernfs.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ns' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hash' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='' type-id='type-id-182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='id' type-id='type-id-183' visibility='default' filepath='./include/linux/kernfs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='./include/linux/kernfs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/kernfs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='iattr' type-id='type-id-184' visibility='default' filepath='./include/linux/kernfs.h' line='161' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='150' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='dir' type-id='type-id-185' visibility='default' filepath='./include/linux/kernfs.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='symlink' type-id='type-id-186' visibility='default' filepath='./include/linux/kernfs.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-187' visibility='default' filepath='./include/linux/kernfs.h' line='153' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='84' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subdirs' type-id='type-id-5' visibility='default' filepath='./include/linux/kernfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='children' type-id='type-id-125' visibility='default' filepath='./include/linux/kernfs.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='root' type-id='type-id-188' visibility='default' filepath='./include/linux/kernfs.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_root' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='183' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ino_idr' type-id='type-id-190' visibility='default' filepath='./include/linux/kernfs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='last_ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='next_generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='syscall_ops' type-id='type-id-192' visibility='default' filepath='./include/linux/kernfs.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='supers' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='deactivate_waitq' type-id='type-id-161' visibility='default' filepath='./include/linux/kernfs.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/idr.h' line='19' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idr_rt' type-id='type-id-193' visibility='default' filepath='./include/linux/idr.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='idr_base' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='idr_next' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='xarray' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/xarray.h' line='292' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/xarray.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_flags' type-id='type-id-194' visibility='default' filepath='./include/linux/xarray.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xa_head' type-id='type-id-108' visibility='default' filepath='./include/linux/xarray.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gfp_t' type-id='type-id-41' filepath='./include/linux/types.h' line='153' column='1' id='type-id-194'/>
+    <typedef-decl name='u32' type-id='type-id-195' filepath='./include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-191'/>
+    <typedef-decl name='__u32' type-id='type-id-41' filepath='./include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-195'/>
+    <class-decl name='kernfs_syscall_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='171' column='1' id='type-id-196'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show_options' type-id='type-id-197' visibility='default' filepath='./include/linux/kernfs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mkdir' type-id='type-id-198' visibility='default' filepath='./include/linux/kernfs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rmdir' type-id='type-id-199' visibility='default' filepath='./include/linux/kernfs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rename' type-id='type-id-200' visibility='default' filepath='./include/linux/kernfs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='show_path' type-id='type-id-201' visibility='default' filepath='./include/linux/kernfs.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='96' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='target_kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='100' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-202' visibility='default' filepath='./include/linux/kernfs.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='open' type-id='type-id-203' visibility='default' filepath='./include/linux/kernfs.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-112' visibility='default' filepath='./include/linux/kernfs.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='notify_next' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='220' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='open' type-id='type-id-205' visibility='default' filepath='./include/linux/kernfs.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='release' type-id='type-id-206' visibility='default' filepath='./include/linux/kernfs.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_show' type-id='type-id-207' visibility='default' filepath='./include/linux/kernfs.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='seq_start' type-id='type-id-208' visibility='default' filepath='./include/linux/kernfs.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='seq_next' type-id='type-id-209' visibility='default' filepath='./include/linux/kernfs.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='seq_stop' type-id='type-id-210' visibility='default' filepath='./include/linux/kernfs.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='read' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='prealloc' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='write' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='poll' type-id='type-id-212' visibility='default' filepath='./include/linux/kernfs.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mmap' type-id='type-id-213' visibility='default' filepath='./include/linux/kernfs.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_open_file' size-in-bits='1088' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='200' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file' type-id='type-id-120' visibility='default' filepath='./include/linux/kernfs.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_file' type-id='type-id-215' visibility='default' filepath='./include/linux/kernfs.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='prealloc_mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='event' type-id='type-id-1' visibility='default' filepath='./include/linux/kernfs.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prealloc_buf' type-id='type-id-9' visibility='default' filepath='./include/linux/kernfs.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='mmapped' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='released' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/kernfs.h' line='217' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__poll_t' type-id='type-id-41' filepath='./include/uapi/linux/types.h' line='52' column='1' id='type-id-216'/>
+    <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='./include/linux/kernfs.h' line='108' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-217' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='id' type-id='type-id-126' visibility='default' filepath='./include/linux/kernfs.h' line='119' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__9' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='109' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/kref.h' line='19' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refcount' type-id='type-id-218' visibility='default' filepath='./include/linux/kref.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='refcount_t' type-id='type-id-219' filepath='./include/linux/refcount.h' line='21' column='1' id='type-id-218'/>
+    <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/refcount.h' line='19' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refs' type-id='type-id-129' visibility='default' filepath='./include/linux/refcount.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='50' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/module.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='show' type-id='type-id-221' visibility='default' filepath='./include/linux/module.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='store' type-id='type-id-222' visibility='default' filepath='./include/linux/module.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='setup' type-id='type-id-223' visibility='default' filepath='./include/linux/module.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='test' type-id='type-id-224' visibility='default' filepath='./include/linux/module.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='free' type-id='type-id-225' visibility='default' filepath='./include/linux/module.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_symbol' size-in-bits='96' is-struct='yes' visibility='default' filepath='./include/linux/export.h' line='69' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='name_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='namespace_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s32' type-id='type-id-227' filepath='./include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-228'/>
+    <typedef-decl name='__s32' type-id='type-id-1' filepath='./include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-227'/>
+    <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='69' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/moduleparam.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/moduleparam.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='perm' type-id='type-id-231' visibility='default' filepath='./include/linux/moduleparam.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='level' type-id='type-id-232' visibility='default' filepath='./include/linux/moduleparam.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='flags' type-id='type-id-233' visibility='default' filepath='./include/linux/moduleparam.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-234' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='47' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='set' type-id='type-id-236' visibility='default' filepath='./include/linux/moduleparam.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get' type-id='type-id-237' visibility='default' filepath='./include/linux/moduleparam.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='type-id-172' visibility='default' filepath='./include/linux/moduleparam.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s8' type-id='type-id-238' filepath='./include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-232'/>
+    <typedef-decl name='__s8' type-id='type-id-38' filepath='./include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-238'/>
+    <typedef-decl name='u8' type-id='type-id-239' filepath='./include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-233'/>
+    <typedef-decl name='__u8' type-id='type-id-40' filepath='./include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-239'/>
+    <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='76' column='1' id='type-id-234'>
+      <data-member access='private'>
+        <var-decl name='arg' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='type-id-240' visibility='default' filepath='./include/linux/moduleparam.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arr' type-id='type-id-241' visibility='default' filepath='./include/linux/moduleparam.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='86' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='maxlen' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='string' type-id='type-id-9' visibility='default' filepath='./include/linux/moduleparam.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='92' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='elemsize' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num' type-id='type-id-244' visibility='default' filepath='./include/linux/moduleparam.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elem' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='307' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-108' visibility='default' filepath='./include/linux/module.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='text_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ro_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ro_after_init_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mtn' type-id='type-id-245' visibility='default' filepath='./include/linux/module.h' line='320' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='302' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='node' type-id='type-id-246' visibility='default' filepath='./include/linux/module.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/rbtree_latch.h' line='40' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-35' visibility='default' filepath='./include/linux/rbtree_latch.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_arch_specific' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/module.h' line='8' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-88'/>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <qualified-type-def type-id='type-id-253' const='yes' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-229' const='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <qualified-type-def type-id='type-id-235' const='yes' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-226' const='yes' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-204' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-202'/>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-243' const='yes' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-241'/>
+    <qualified-type-def type-id='type-id-242' const='yes' id='type-id-263'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-79' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-228' const='yes' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-55'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-151' const='yes' id='type-id-231'/>
+    <qualified-type-def type-id='type-id-153' const='yes' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-30' const='yes' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-286'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-287'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-304' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-318'/>
+    <var-decl name='__this_module' type-id='type-id-47' visibility='default' filepath='./include/linux/export.h' line='15' column='1'/>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-52'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-260'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-288'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-283'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-285'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-294'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-292'/>
+      <return type-id='type-id-216'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-295'>
+      <return type-id='type-id-57'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-296'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-298'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-299'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-300'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-302'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-303'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-304'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-305'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-306'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-307'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-289'/>
+      <parameter type-id='type-id-287'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-309'>
+      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-310'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-311'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-318'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-313'>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-293'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff/test-crc-1.xml b/tests/data/test-abidiff/test-crc-1.xml
new file mode 100644
index 000000000000..9e1289ce5584
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-1.xml
@@ -0,0 +1,1601 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe52d5bcf'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfda43846'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xee94d699'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x41336c46'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <var-decl name='exported_variable' type-id='type-id-1' mangled-name='exported_variable' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='9' column='1' elf-symbol-id='exported_variable'/>
+    <var-decl name='exported_variable_gpl' type-id='type-id-1' mangled-name='exported_variable_gpl' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='12' column='1' elf-symbol-id='exported_variable_gpl'/>
+    <function-decl name='exported_function' mangled-name='exported_function' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='3' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='exported_function'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.mod.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+
+
+
+
+
+
+
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-4'>
+      <subrange length='4' type-id='type-id-5' id='type-id-6'/>
+
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-8'/>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='2048' id='type-id-10'>
+      <subrange length='32' type-id='type-id-5' id='type-id-11'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='192' id='type-id-12'>
+      <subrange length='3' type-id='type-id-5' id='type-id-13'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-14'>
+      <subrange length='2048' type-id='type-id-5' id='type-id-15'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='448' id='type-id-16'>
+      <subrange length='56' type-id='type-id-5' id='type-id-17'/>
+
+    </array-type-def>
+    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <class-decl name='exception_table_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/>
+    <class-decl name='file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-20'/>
+    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-21'/>
+    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-22'/>
+    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-23'/>
+    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/>
+    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-27'/>
+    <class-decl name='task_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
+    <class-decl name='vm_operations_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-30'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-31'/>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-32'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-33'/>
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='384' id='type-id-35'>
+      <subrange length='2' type-id='type-id-5' id='type-id-36'/>
+
+    </array-type-def>
+    <type-decl name='short int' size-in-bits='16' id='type-id-37'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-38'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-39'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-40'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-41'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='2816' id='type-id-42'>
+      <subrange length='44' type-id='type-id-5' id='type-id-43'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-5' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <class-decl name='module' size-in-bits='4608' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='347' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-48' visibility='default' filepath='./include/linux/module.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/module.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='./include/linux/module.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mkobj' type-id='type-id-50' visibility='default' filepath='./include/linux/module.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='modinfo_attrs' type-id='type-id-51' visibility='default' filepath='./include/linux/module.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='version' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='srcversion' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='holders_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='num_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='kp' type-id='type-id-56' visibility='default' filepath='./include/linux/module.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='num_kp' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='num_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='unused_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='unused_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='num_unused_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='num_unused_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='unused_gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='unused_gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='async_probe_requested' type-id='type-id-57' visibility='default' filepath='./include/linux/module.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='gpl_future_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='gpl_future_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='401' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='num_gpl_future_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='num_exentries' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='extable' type-id='type-id-58' visibility='default' filepath='./include/linux/module.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='init' type-id='type-id-59' visibility='default' filepath='./include/linux/module.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='core_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='init_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='arch' type-id='type-id-61' visibility='default' filepath='./include/linux/module.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='taints' type-id='type-id-5' visibility='default' filepath='./include/linux/module.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='args' type-id='type-id-9' visibility='default' filepath='./include/linux/module.h' line='441' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='module_state' filepath='./include/linux/module.h' line='295' column='1' id='type-id-48'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='MODULE_STATE_LIVE' value='0'/>
+      <enumerator name='MODULE_STATE_COMING' value='1'/>
+      <enumerator name='MODULE_STATE_GOING' value='2'/>
+      <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
+    </enum-decl>
+    <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/types.h' line='181' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='42' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/module.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='drivers_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mp' type-id='type-id-65' visibility='default' filepath='./include/linux/module.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='kobj_completion' type-id='type-id-66' visibility='default' filepath='./include/linux/module.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='65' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kobject.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='type-id-53' visibility='default' filepath='./include/linux/kobject.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='kset' type-id='type-id-67' visibility='default' filepath='./include/linux/kobject.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ktype' type-id='type-id-68' visibility='default' filepath='./include/linux/kobject.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sd' type-id='type-id-69' visibility='default' filepath='./include/linux/kobject.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='kref' type-id='type-id-70' visibility='default' filepath='./include/linux/kobject.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='state_initialized' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='state_in_sysfs' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='state_add_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='state_remove_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='uevent_suppress' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kset' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='193' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='list_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/kobject.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/kobject.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='uevent_ops' type-id='type-id-73' visibility='default' filepath='./include/linux/kobject.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='spinlock_t' type-id='type-id-74' filepath='./include/linux/spinlock_types.h' line='73' column='1' id='type-id-72'/>
+    <class-decl name='spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='61' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='62' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='rlock' type-id='type-id-76' visibility='default' filepath='./include/linux/spinlock_types.h' line='63' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='raw_spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='20' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raw_lock' type-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='arch_spinlock_t' type-id='type-id-78' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-77'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-78'/>
+    <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='157' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter' type-id='type-id-80' visibility='default' filepath='./include/linux/kobject.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-81' visibility='default' filepath='./include/linux/kobject.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='uevent' type-id='type-id-82' visibility='default' filepath='./include/linux/kobject.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='149' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argv' type-id='type-id-12' visibility='default' filepath='./include/linux/kobject.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='envp' type-id='type-id-10' visibility='default' filepath='./include/linux/kobject.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='envp_idx' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='buf' type-id='type-id-14' visibility='default' filepath='./include/linux/kobject.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18656'>
+        <var-decl name='buflen' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='154' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_type' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='139' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='release' type-id='type-id-85' visibility='default' filepath='./include/linux/kobject.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sysfs_ops' type-id='type-id-86' visibility='default' filepath='./include/linux/kobject.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='default_attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/kobject.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_groups' type-id='type-id-88' visibility='default' filepath='./include/linux/kobject.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='child_ns_type' type-id='type-id-89' visibility='default' filepath='./include/linux/kobject.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='namespace' type-id='type-id-90' visibility='default' filepath='./include/linux/kobject.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_ownership' type-id='type-id-91' visibility='default' filepath='./include/linux/kobject.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='223' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show' type-id='type-id-93' visibility='default' filepath='./include/linux/sysfs.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='store' type-id='type-id-94' visibility='default' filepath='./include/linux/sysfs.h' line='225' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ssize_t' type-id='type-id-95' filepath='./include/linux/types.h' line='60' column='1' id='type-id-96'/>
+    <typedef-decl name='__kernel_ssize_t' type-id='type-id-97' filepath='./include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-95'/>
+    <typedef-decl name='__kernel_long_t' type-id='type-id-31' filepath='./include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-97'/>
+    <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='30' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/sysfs.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='umode_t' type-id='type-id-46' filepath='./include/linux/types.h' line='19' column='1' id='type-id-99'/>
+    <typedef-decl name='size_t' type-id='type-id-100' filepath='./include/linux/types.h' line='55' column='1' id='type-id-101'/>
+    <typedef-decl name='__kernel_size_t' type-id='type-id-102' filepath='./include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-100'/>
+    <typedef-decl name='__kernel_ulong_t' type-id='type-id-5' filepath='./include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-102'/>
+    <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='84' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_visible' type-id='type-id-104' visibility='default' filepath='./include/linux/sysfs.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_bin_visible' type-id='type-id-105' visibility='default' filepath='./include/linux/sysfs.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/sysfs.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bin_attrs' type-id='type-id-106' visibility='default' filepath='./include/linux/sysfs.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='161' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/sysfs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-101' visibility='default' filepath='./include/linux/sysfs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='private' type-id='type-id-108' visibility='default' filepath='./include/linux/sysfs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='read' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='write' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mmap' type-id='type-id-110' visibility='default' filepath='./include/linux/sysfs.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='loff_t' type-id='type-id-111' filepath='./include/linux/types.h' line='46' column='1' id='type-id-112'/>
+    <typedef-decl name='__kernel_loff_t' type-id='type-id-32' filepath='./include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-111'/>
+    <class-decl name='vm_area_struct' size-in-bits='1408' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='292' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vm_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vm_next' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vm_prev' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vm_rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rb_subtree_gap' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vm_mm' type-id='type-id-115' visibility='default' filepath='./include/linux/mm_types.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vm_page_prot' type-id='type-id-116' visibility='default' filepath='./include/linux/mm_types.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vm_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared' type-id='type-id-117' visibility='default' filepath='./include/linux/mm_types.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='anon_vma_chain' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='anon_vma' type-id='type-id-118' visibility='default' filepath='./include/linux/mm_types.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/mm_types.h' line='338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vm_pgoff' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='vm_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='vm_private_data' type-id='type-id-108' visibility='default' filepath='./include/linux/mm_types.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='vm_userfaultfd_ctx' type-id='type-id-121' visibility='default' filepath='./include/linux/mm_types.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='24' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__rb_parent_color' type-id='type-id-5' visibility='default' filepath='./include/linux/rbtree.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rb_right' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rb_left' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mm_struct' size-in-bits='6720' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='370' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='cpu_bitmap' type-id='type-id-44' visibility='default' filepath='./include/linux/mm_types.h' line='533' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='6720' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='371' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mmap' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mm_rb' type-id='type-id-125' visibility='default' filepath='./include/linux/mm_types.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vmacache_seqnum' type-id='type-id-126' visibility='default' filepath='./include/linux/mm_types.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_unmapped_area' type-id='type-id-127' visibility='default' filepath='./include/linux/mm_types.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mmap_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mmap_legacy_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='task_size' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='highest_vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pgd' type-id='type-id-128' visibility='default' filepath='./include/linux/mm_types.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mm_users' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='mm_count' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='pgtables_bytes' type-id='type-id-3' visibility='default' filepath='./include/linux/mm_types.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='map_count' type-id='type-id-1' visibility='default' filepath='./include/linux/mm_types.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='page_table_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mmap_sem' type-id='type-id-130' visibility='default' filepath='./include/linux/mm_types.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='mmlist' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='hiwater_rss' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='438' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='hiwater_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='total_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='locked_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='pinned_vm' type-id='type-id-131' visibility='default' filepath='./include/linux/mm_types.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='data_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='exec_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stack_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='def_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='arg_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='start_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='end_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='start_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='end_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='start_brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='start_stack' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='arg_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='arg_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='env_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='env_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='saved_auxv' type-id='type-id-42' visibility='default' filepath='./include/linux/mm_types.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='rss_stat' type-id='type-id-132' visibility='default' filepath='./include/linux/mm_types.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='binfmt' type-id='type-id-133' visibility='default' filepath='./include/linux/mm_types.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='context' type-id='type-id-134' visibility='default' filepath='./include/linux/mm_types.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='core_state' type-id='type-id-135' visibility='default' filepath='./include/linux/mm_types.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='user_ns' type-id='type-id-136' visibility='default' filepath='./include/linux/mm_types.h' line='488' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='exe_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='tlb_flush_pending' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='tlb_flush_batched' type-id='type-id-57' visibility='default' filepath='./include/linux/mm_types.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6440'>
+        <var-decl name='uprobes_state' type-id='type-id-137' visibility='default' filepath='./include/linux/mm_types.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='async_put_work' type-id='type-id-138' visibility='default' filepath='./include/linux/mm_types.h' line='526' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='31' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb_node' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-139' filepath='./include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-126'/>
+    <typedef-decl name='__u64' type-id='type-id-33' filepath='./include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-139'/>
+    <typedef-decl name='pgd_t' type-id='type-id-140' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-141'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-141' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgd' type-id='type-id-142' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgdval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='18' column='1' id='type-id-142'/>
+    <typedef-decl name='atomic_t' type-id='type-id-143' filepath='./include/linux/types.h' line='173' column='1' id='type-id-129'/>
+    <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-129' visibility='default' filepath='./include/linux/types.h' line='171' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-1' visibility='default' filepath='./include/linux/types.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='atomic_long_t' type-id='type-id-131' filepath='./include/asm-generic/atomic-long.h' line='12' column='1' id='type-id-3'/>
+    <typedef-decl name='atomic64_t' type-id='type-id-144' filepath='./include/linux/types.h' line='178' column='1' id='type-id-131'/>
+    <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-131' visibility='default' filepath='./include/linux/types.h' line='176' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-145' visibility='default' filepath='./include/linux/types.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s64' type-id='type-id-146' filepath='./include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-145'/>
+    <typedef-decl name='__s64' type-id='type-id-32' filepath='./include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-146'/>
+    <class-decl name='rw_semaphore' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/rwsem.h' line='35' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_lock' type-id='type-id-147' visibility='default' filepath='./include/linux/rwsem.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/rwsem.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='raw_spinlock_t' type-id='type-id-76' filepath='./include/linux/spinlock_types.h' line='29' column='1' id='type-id-147'/>
+    <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/mm_types_task.h' line='60' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='./include/linux/mm_types_task.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mm_context_t' type-id='type-id-148' filepath='./arch/x86/include/asm/mmu.h' line='57' column='1' id='type-id-134'/>
+    <class-decl name='__anonymous_struct__5' size-in-bits='576' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-134' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='13' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ctx_id' type-id='type-id-126' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tlb_gen' type-id='type-id-131' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ia32_compat' type-id='type-id-46' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='lock' type-id='type-id-149' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vdso' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vdso_image' type-id='type-id-150' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='perf_rdpmc_allowed' type-id='type-id-129' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='pkey_allocation_map' type-id='type-id-151' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='execute_only_pkey' type-id='type-id-152' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mutex' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/mutex.h' line='53' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/mutex.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mutex.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/mutex.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vdso_image' size-in-bits='832' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='13' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='alt' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alt_len' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sym_vvar_start' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sym_vvar_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym_pvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='sym_hvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='sym_VDSO32_NOTE_MASK' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sym___kernel_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym___kernel_rt_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sym___kernel_vsyscall' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_int80_landing_pad' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u16' type-id='type-id-154' filepath='./include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-151'/>
+    <typedef-decl name='__u16' type-id='type-id-46' filepath='./include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-154'/>
+    <typedef-decl name='s16' type-id='type-id-155' filepath='./include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-152'/>
+    <typedef-decl name='__s16' type-id='type-id-37' filepath='./include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-155'/>
+    <class-decl name='core_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='363' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nr_threads' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dumper' type-id='type-id-157' visibility='default' filepath='./include/linux/mm_types.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='startup' type-id='type-id-158' visibility='default' filepath='./include/linux/mm_types.h' line='366' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='358' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='task' type-id='type-id-159' visibility='default' filepath='./include/linux/mm_types.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-160' visibility='default' filepath='./include/linux/mm_types.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='completion' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/completion.h' line='26' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='done' type-id='type-id-41' visibility='default' filepath='./include/linux/completion.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait' type-id='type-id-161' visibility='default' filepath='./include/linux/completion.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='wait_queue_head_t' type-id='type-id-162' filepath='./include/linux/wait.h' line='38' column='1' id='type-id-161'/>
+    <class-decl name='wait_queue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/wait.h' line='34' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-72' visibility='default' filepath='./include/linux/wait.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-49' visibility='default' filepath='./include/linux/wait.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bool' type-id='type-id-7' filepath='./include/linux/types.h' line='30' column='1' id='type-id-57'/>
+    <class-decl name='uprobes_state' is-struct='yes' visibility='default' filepath='./include/linux/uprobes.h' line='142' column='1' id='type-id-137'/>
+    <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/workqueue.h' line='102' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-3' visibility='default' filepath='./include/linux/workqueue.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/workqueue.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='func' type-id='type-id-163' visibility='default' filepath='./include/linux/workqueue.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='work_func_t' type-id='type-id-164' filepath='./include/linux/workqueue.h' line='21' column='1' id='type-id-163'/>
+    <typedef-decl name='pgprot_t' type-id='type-id-165' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-116'/>
+    <class-decl name='pgprot' size-in-bits='64' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgprot' type-id='type-id-166' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgprotval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='19' column='1' id='type-id-166'/>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='322' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb_subtree_last' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='283' column='1' id='type-id-121'/>
+    <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/kobject_ns.h' line='39' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='./include/linux/kobject_ns.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='current_may_mount' type-id='type-id-169' visibility='default' filepath='./include/linux/kobject_ns.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grab_current_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='netlink_ns' type-id='type-id-171' visibility='default' filepath='./include/linux/kobject_ns.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='initial_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='drop_ns' type-id='type-id-172' visibility='default' filepath='./include/linux/kobject_ns.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='kobj_ns_type' filepath='./include/linux/kobject_ns.h' line='26' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
+      <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
+      <enumerator name='KOBJ_NS_TYPES' value='2'/>
+    </enum-decl>
+    <typedef-decl name='kuid_t' type-id='type-id-173' filepath='./include/linux/uidgid.h' line='23' column='1' id='type-id-174'/>
+    <class-decl name='__anonymous_struct__7' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-174' visibility='default' filepath='./include/linux/uidgid.h' line='21' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-175' visibility='default' filepath='./include/linux/uidgid.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uid_t' type-id='type-id-176' filepath='./include/linux/types.h' line='32' column='1' id='type-id-175'/>
+    <typedef-decl name='__kernel_uid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-176'/>
+    <typedef-decl name='kgid_t' type-id='type-id-177' filepath='./include/linux/uidgid.h' line='28' column='1' id='type-id-178'/>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-178' visibility='default' filepath='./include/linux/uidgid.h' line='26' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-179' visibility='default' filepath='./include/linux/uidgid.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gid_t' type-id='type-id-180' filepath='./include/linux/types.h' line='33' column='1' id='type-id-179'/>
+    <typedef-decl name='__kernel_gid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-180'/>
+    <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='131' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='active' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parent' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kernfs.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/kernfs.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ns' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hash' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='' type-id='type-id-182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='id' type-id='type-id-183' visibility='default' filepath='./include/linux/kernfs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='./include/linux/kernfs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/kernfs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='iattr' type-id='type-id-184' visibility='default' filepath='./include/linux/kernfs.h' line='161' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='150' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='dir' type-id='type-id-185' visibility='default' filepath='./include/linux/kernfs.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='symlink' type-id='type-id-186' visibility='default' filepath='./include/linux/kernfs.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-187' visibility='default' filepath='./include/linux/kernfs.h' line='153' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='84' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subdirs' type-id='type-id-5' visibility='default' filepath='./include/linux/kernfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='children' type-id='type-id-125' visibility='default' filepath='./include/linux/kernfs.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='root' type-id='type-id-188' visibility='default' filepath='./include/linux/kernfs.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_root' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='183' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ino_idr' type-id='type-id-190' visibility='default' filepath='./include/linux/kernfs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='last_ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='next_generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='syscall_ops' type-id='type-id-192' visibility='default' filepath='./include/linux/kernfs.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='supers' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='deactivate_waitq' type-id='type-id-161' visibility='default' filepath='./include/linux/kernfs.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/idr.h' line='19' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idr_rt' type-id='type-id-193' visibility='default' filepath='./include/linux/idr.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='idr_base' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='idr_next' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='xarray' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/xarray.h' line='292' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/xarray.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_flags' type-id='type-id-194' visibility='default' filepath='./include/linux/xarray.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xa_head' type-id='type-id-108' visibility='default' filepath='./include/linux/xarray.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gfp_t' type-id='type-id-41' filepath='./include/linux/types.h' line='153' column='1' id='type-id-194'/>
+    <typedef-decl name='u32' type-id='type-id-195' filepath='./include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-191'/>
+    <typedef-decl name='__u32' type-id='type-id-41' filepath='./include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-195'/>
+    <class-decl name='kernfs_syscall_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='171' column='1' id='type-id-196'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show_options' type-id='type-id-197' visibility='default' filepath='./include/linux/kernfs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mkdir' type-id='type-id-198' visibility='default' filepath='./include/linux/kernfs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rmdir' type-id='type-id-199' visibility='default' filepath='./include/linux/kernfs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rename' type-id='type-id-200' visibility='default' filepath='./include/linux/kernfs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='show_path' type-id='type-id-201' visibility='default' filepath='./include/linux/kernfs.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='96' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='target_kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='100' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-202' visibility='default' filepath='./include/linux/kernfs.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='open' type-id='type-id-203' visibility='default' filepath='./include/linux/kernfs.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-112' visibility='default' filepath='./include/linux/kernfs.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='notify_next' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='220' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='open' type-id='type-id-205' visibility='default' filepath='./include/linux/kernfs.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='release' type-id='type-id-206' visibility='default' filepath='./include/linux/kernfs.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_show' type-id='type-id-207' visibility='default' filepath='./include/linux/kernfs.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='seq_start' type-id='type-id-208' visibility='default' filepath='./include/linux/kernfs.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='seq_next' type-id='type-id-209' visibility='default' filepath='./include/linux/kernfs.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='seq_stop' type-id='type-id-210' visibility='default' filepath='./include/linux/kernfs.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='read' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='prealloc' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='write' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='poll' type-id='type-id-212' visibility='default' filepath='./include/linux/kernfs.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mmap' type-id='type-id-213' visibility='default' filepath='./include/linux/kernfs.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_open_file' size-in-bits='1088' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='200' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file' type-id='type-id-120' visibility='default' filepath='./include/linux/kernfs.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_file' type-id='type-id-215' visibility='default' filepath='./include/linux/kernfs.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='prealloc_mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='event' type-id='type-id-1' visibility='default' filepath='./include/linux/kernfs.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prealloc_buf' type-id='type-id-9' visibility='default' filepath='./include/linux/kernfs.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='mmapped' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='released' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/kernfs.h' line='217' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__poll_t' type-id='type-id-41' filepath='./include/uapi/linux/types.h' line='52' column='1' id='type-id-216'/>
+    <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='./include/linux/kernfs.h' line='108' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-217' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='id' type-id='type-id-126' visibility='default' filepath='./include/linux/kernfs.h' line='119' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__9' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='109' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/kref.h' line='19' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refcount' type-id='type-id-218' visibility='default' filepath='./include/linux/kref.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='refcount_t' type-id='type-id-219' filepath='./include/linux/refcount.h' line='21' column='1' id='type-id-218'/>
+    <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/refcount.h' line='19' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refs' type-id='type-id-129' visibility='default' filepath='./include/linux/refcount.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='50' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/module.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='show' type-id='type-id-221' visibility='default' filepath='./include/linux/module.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='store' type-id='type-id-222' visibility='default' filepath='./include/linux/module.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='setup' type-id='type-id-223' visibility='default' filepath='./include/linux/module.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='test' type-id='type-id-224' visibility='default' filepath='./include/linux/module.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='free' type-id='type-id-225' visibility='default' filepath='./include/linux/module.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_symbol' size-in-bits='96' is-struct='yes' visibility='default' filepath='./include/linux/export.h' line='69' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='name_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='namespace_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s32' type-id='type-id-227' filepath='./include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-228'/>
+    <typedef-decl name='__s32' type-id='type-id-1' filepath='./include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-227'/>
+    <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='69' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/moduleparam.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/moduleparam.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='perm' type-id='type-id-231' visibility='default' filepath='./include/linux/moduleparam.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='level' type-id='type-id-232' visibility='default' filepath='./include/linux/moduleparam.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='flags' type-id='type-id-233' visibility='default' filepath='./include/linux/moduleparam.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-234' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='47' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='set' type-id='type-id-236' visibility='default' filepath='./include/linux/moduleparam.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get' type-id='type-id-237' visibility='default' filepath='./include/linux/moduleparam.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='type-id-172' visibility='default' filepath='./include/linux/moduleparam.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s8' type-id='type-id-238' filepath='./include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-232'/>
+    <typedef-decl name='__s8' type-id='type-id-38' filepath='./include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-238'/>
+    <typedef-decl name='u8' type-id='type-id-239' filepath='./include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-233'/>
+    <typedef-decl name='__u8' type-id='type-id-40' filepath='./include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-239'/>
+    <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='76' column='1' id='type-id-234'>
+      <data-member access='private'>
+        <var-decl name='arg' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='type-id-240' visibility='default' filepath='./include/linux/moduleparam.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arr' type-id='type-id-241' visibility='default' filepath='./include/linux/moduleparam.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='86' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='maxlen' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='string' type-id='type-id-9' visibility='default' filepath='./include/linux/moduleparam.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='92' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='elemsize' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num' type-id='type-id-244' visibility='default' filepath='./include/linux/moduleparam.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elem' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='307' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-108' visibility='default' filepath='./include/linux/module.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='text_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ro_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ro_after_init_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mtn' type-id='type-id-245' visibility='default' filepath='./include/linux/module.h' line='320' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='302' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='node' type-id='type-id-246' visibility='default' filepath='./include/linux/module.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/rbtree_latch.h' line='40' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-35' visibility='default' filepath='./include/linux/rbtree_latch.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_arch_specific' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/module.h' line='8' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-88'/>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <qualified-type-def type-id='type-id-253' const='yes' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-229' const='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <qualified-type-def type-id='type-id-235' const='yes' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-226' const='yes' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-204' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-202'/>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-243' const='yes' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-241'/>
+    <qualified-type-def type-id='type-id-242' const='yes' id='type-id-263'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-79' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-228' const='yes' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-55'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-151' const='yes' id='type-id-231'/>
+    <qualified-type-def type-id='type-id-153' const='yes' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-30' const='yes' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-286'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-287'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-304' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-318'/>
+    <var-decl name='__this_module' type-id='type-id-47' visibility='default' filepath='./include/linux/export.h' line='15' column='1'/>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-52'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-260'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-288'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-283'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-285'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-294'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-292'/>
+      <return type-id='type-id-216'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-295'>
+      <return type-id='type-id-57'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-296'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-298'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-299'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-300'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-302'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-303'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-304'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-305'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-306'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-307'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-289'/>
+      <parameter type-id='type-id-287'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-309'>
+      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-310'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-311'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-318'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-313'>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-293'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff/test-crc-2.xml b/tests/data/test-abidiff/test-crc-2.xml
new file mode 100644
index 000000000000..bf21ca6f93e4
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-2.xml
@@ -0,0 +1,1601 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe52d5bd0'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfda43846'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xee94d699'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x41336c46'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <var-decl name='exported_variable' type-id='type-id-1' mangled-name='exported_variable' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='9' column='1' elf-symbol-id='exported_variable'/>
+    <var-decl name='exported_variable_gpl' type-id='type-id-1' mangled-name='exported_variable_gpl' visibility='default' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='12' column='1' elf-symbol-id='exported_variable_gpl'/>
+    <function-decl name='exported_function' mangled-name='exported_function' filepath='tests/data/test-symtab/kernel-modversions/one_of_each.c' line='3' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='exported_function'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='tests/data/test-symtab/kernel-modversions/one_of_each.mod.c' comp-dir-path='/ws/contrib/linux' language='LANG_C89'>
+
+
+
+
+
+
+
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-4'>
+      <subrange length='4' type-id='type-id-5' id='type-id-6'/>
+
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-8'/>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='2048' id='type-id-10'>
+      <subrange length='32' type-id='type-id-5' id='type-id-11'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='192' id='type-id-12'>
+      <subrange length='3' type-id='type-id-5' id='type-id-13'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-14'>
+      <subrange length='2048' type-id='type-id-5' id='type-id-15'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='448' id='type-id-16'>
+      <subrange length='56' type-id='type-id-5' id='type-id-17'/>
+
+    </array-type-def>
+    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <class-decl name='exception_table_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/>
+    <class-decl name='file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-20'/>
+    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-21'/>
+    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-22'/>
+    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-23'/>
+    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-26'/>
+    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-27'/>
+    <class-decl name='task_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
+    <class-decl name='vm_operations_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-30'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-31'/>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-32'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-33'/>
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='384' id='type-id-35'>
+      <subrange length='2' type-id='type-id-5' id='type-id-36'/>
+
+    </array-type-def>
+    <type-decl name='short int' size-in-bits='16' id='type-id-37'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-38'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-39'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-40'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-41'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='2816' id='type-id-42'>
+      <subrange length='44' type-id='type-id-5' id='type-id-43'/>
+
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-5' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <class-decl name='module' size-in-bits='4608' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='347' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-48' visibility='default' filepath='./include/linux/module.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/module.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='./include/linux/module.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mkobj' type-id='type-id-50' visibility='default' filepath='./include/linux/module.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='modinfo_attrs' type-id='type-id-51' visibility='default' filepath='./include/linux/module.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='version' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='srcversion' type-id='type-id-52' visibility='default' filepath='./include/linux/module.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='holders_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='num_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='kp' type-id='type-id-56' visibility='default' filepath='./include/linux/module.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='num_kp' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='num_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='unused_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='unused_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='num_unused_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='num_unused_gpl_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='unused_gpl_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='unused_gpl_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='async_probe_requested' type-id='type-id-57' visibility='default' filepath='./include/linux/module.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='gpl_future_syms' type-id='type-id-54' visibility='default' filepath='./include/linux/module.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='gpl_future_crcs' type-id='type-id-55' visibility='default' filepath='./include/linux/module.h' line='401' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='num_gpl_future_syms' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='num_exentries' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='extable' type-id='type-id-58' visibility='default' filepath='./include/linux/module.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='init' type-id='type-id-59' visibility='default' filepath='./include/linux/module.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='core_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='init_layout' type-id='type-id-60' visibility='default' filepath='./include/linux/module.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='arch' type-id='type-id-61' visibility='default' filepath='./include/linux/module.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='taints' type-id='type-id-5' visibility='default' filepath='./include/linux/module.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='args' type-id='type-id-9' visibility='default' filepath='./include/linux/module.h' line='441' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='module_state' filepath='./include/linux/module.h' line='295' column='1' id='type-id-48'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='MODULE_STATE_LIVE' value='0'/>
+      <enumerator name='MODULE_STATE_COMING' value='1'/>
+      <enumerator name='MODULE_STATE_GOING' value='2'/>
+      <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
+    </enum-decl>
+    <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/types.h' line='181' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='type-id-62' visibility='default' filepath='./include/linux/types.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='42' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/module.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='drivers_dir' type-id='type-id-53' visibility='default' filepath='./include/linux/module.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mp' type-id='type-id-65' visibility='default' filepath='./include/linux/module.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='kobj_completion' type-id='type-id-66' visibility='default' filepath='./include/linux/module.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='65' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kobject.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='type-id-53' visibility='default' filepath='./include/linux/kobject.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='kset' type-id='type-id-67' visibility='default' filepath='./include/linux/kobject.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ktype' type-id='type-id-68' visibility='default' filepath='./include/linux/kobject.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sd' type-id='type-id-69' visibility='default' filepath='./include/linux/kobject.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='kref' type-id='type-id-70' visibility='default' filepath='./include/linux/kobject.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='state_initialized' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='state_in_sysfs' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='state_add_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='state_remove_uevent_sent' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='uevent_suppress' type-id='type-id-41' visibility='default' filepath='./include/linux/kobject.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kset' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='193' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kobject.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='list_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/kobject.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kobj' type-id='type-id-63' visibility='default' filepath='./include/linux/kobject.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='uevent_ops' type-id='type-id-73' visibility='default' filepath='./include/linux/kobject.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='spinlock_t' type-id='type-id-74' filepath='./include/linux/spinlock_types.h' line='73' column='1' id='type-id-72'/>
+    <class-decl name='spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='61' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='62' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='rlock' type-id='type-id-76' visibility='default' filepath='./include/linux/spinlock_types.h' line='63' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='raw_spinlock' is-struct='yes' visibility='default' filepath='./include/linux/spinlock_types.h' line='20' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raw_lock' type-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='arch_spinlock_t' type-id='type-id-78' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-77'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-77' visibility='default' filepath='./include/linux/spinlock_types_up.h' line='25' column='1' id='type-id-78'/>
+    <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='157' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter' type-id='type-id-80' visibility='default' filepath='./include/linux/kobject.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-81' visibility='default' filepath='./include/linux/kobject.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='uevent' type-id='type-id-82' visibility='default' filepath='./include/linux/kobject.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='149' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argv' type-id='type-id-12' visibility='default' filepath='./include/linux/kobject.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='envp' type-id='type-id-10' visibility='default' filepath='./include/linux/kobject.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='envp_idx' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='buf' type-id='type-id-14' visibility='default' filepath='./include/linux/kobject.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18656'>
+        <var-decl name='buflen' type-id='type-id-1' visibility='default' filepath='./include/linux/kobject.h' line='154' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kobj_type' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/kobject.h' line='139' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='release' type-id='type-id-85' visibility='default' filepath='./include/linux/kobject.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sysfs_ops' type-id='type-id-86' visibility='default' filepath='./include/linux/kobject.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='default_attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/kobject.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_groups' type-id='type-id-88' visibility='default' filepath='./include/linux/kobject.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='child_ns_type' type-id='type-id-89' visibility='default' filepath='./include/linux/kobject.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='namespace' type-id='type-id-90' visibility='default' filepath='./include/linux/kobject.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_ownership' type-id='type-id-91' visibility='default' filepath='./include/linux/kobject.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='223' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show' type-id='type-id-93' visibility='default' filepath='./include/linux/sysfs.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='store' type-id='type-id-94' visibility='default' filepath='./include/linux/sysfs.h' line='225' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ssize_t' type-id='type-id-95' filepath='./include/linux/types.h' line='60' column='1' id='type-id-96'/>
+    <typedef-decl name='__kernel_ssize_t' type-id='type-id-97' filepath='./include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-95'/>
+    <typedef-decl name='__kernel_long_t' type-id='type-id-31' filepath='./include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-97'/>
+    <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='30' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/sysfs.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='umode_t' type-id='type-id-46' filepath='./include/linux/types.h' line='19' column='1' id='type-id-99'/>
+    <typedef-decl name='size_t' type-id='type-id-100' filepath='./include/linux/types.h' line='55' column='1' id='type-id-101'/>
+    <typedef-decl name='__kernel_size_t' type-id='type-id-102' filepath='./include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-100'/>
+    <typedef-decl name='__kernel_ulong_t' type-id='type-id-5' filepath='./include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-102'/>
+    <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='84' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/sysfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_visible' type-id='type-id-104' visibility='default' filepath='./include/linux/sysfs.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_bin_visible' type-id='type-id-105' visibility='default' filepath='./include/linux/sysfs.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='type-id-87' visibility='default' filepath='./include/linux/sysfs.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bin_attrs' type-id='type-id-106' visibility='default' filepath='./include/linux/sysfs.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/sysfs.h' line='161' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/sysfs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-101' visibility='default' filepath='./include/linux/sysfs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='private' type-id='type-id-108' visibility='default' filepath='./include/linux/sysfs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='read' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='write' type-id='type-id-109' visibility='default' filepath='./include/linux/sysfs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mmap' type-id='type-id-110' visibility='default' filepath='./include/linux/sysfs.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='loff_t' type-id='type-id-111' filepath='./include/linux/types.h' line='46' column='1' id='type-id-112'/>
+    <typedef-decl name='__kernel_loff_t' type-id='type-id-32' filepath='./include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-111'/>
+    <class-decl name='vm_area_struct' size-in-bits='1408' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='292' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vm_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vm_next' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vm_prev' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vm_rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rb_subtree_gap' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vm_mm' type-id='type-id-115' visibility='default' filepath='./include/linux/mm_types.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vm_page_prot' type-id='type-id-116' visibility='default' filepath='./include/linux/mm_types.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vm_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared' type-id='type-id-117' visibility='default' filepath='./include/linux/mm_types.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='anon_vma_chain' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='anon_vma' type-id='type-id-118' visibility='default' filepath='./include/linux/mm_types.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/mm_types.h' line='338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vm_pgoff' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='vm_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='vm_private_data' type-id='type-id-108' visibility='default' filepath='./include/linux/mm_types.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='vm_userfaultfd_ctx' type-id='type-id-121' visibility='default' filepath='./include/linux/mm_types.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='24' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__rb_parent_color' type-id='type-id-5' visibility='default' filepath='./include/linux/rbtree.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rb_right' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rb_left' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mm_struct' size-in-bits='6720' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='370' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='cpu_bitmap' type-id='type-id-44' visibility='default' filepath='./include/linux/mm_types.h' line='533' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='6720' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='371' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mmap' type-id='type-id-114' visibility='default' filepath='./include/linux/mm_types.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mm_rb' type-id='type-id-125' visibility='default' filepath='./include/linux/mm_types.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vmacache_seqnum' type-id='type-id-126' visibility='default' filepath='./include/linux/mm_types.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_unmapped_area' type-id='type-id-127' visibility='default' filepath='./include/linux/mm_types.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mmap_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mmap_legacy_base' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='task_size' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='highest_vm_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pgd' type-id='type-id-128' visibility='default' filepath='./include/linux/mm_types.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mm_users' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='mm_count' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='pgtables_bytes' type-id='type-id-3' visibility='default' filepath='./include/linux/mm_types.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='map_count' type-id='type-id-1' visibility='default' filepath='./include/linux/mm_types.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='page_table_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mmap_sem' type-id='type-id-130' visibility='default' filepath='./include/linux/mm_types.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='mmlist' type-id='type-id-49' visibility='default' filepath='./include/linux/mm_types.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='hiwater_rss' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='438' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='hiwater_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='total_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='locked_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='pinned_vm' type-id='type-id-131' visibility='default' filepath='./include/linux/mm_types.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='data_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='exec_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stack_vm' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='def_flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='arg_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mm_types.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='start_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='end_code' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='start_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='end_data' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='start_brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='brk' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='start_stack' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='arg_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='arg_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='env_start' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='env_end' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='saved_auxv' type-id='type-id-42' visibility='default' filepath='./include/linux/mm_types.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='rss_stat' type-id='type-id-132' visibility='default' filepath='./include/linux/mm_types.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='binfmt' type-id='type-id-133' visibility='default' filepath='./include/linux/mm_types.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='context' type-id='type-id-134' visibility='default' filepath='./include/linux/mm_types.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='core_state' type-id='type-id-135' visibility='default' filepath='./include/linux/mm_types.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='user_ns' type-id='type-id-136' visibility='default' filepath='./include/linux/mm_types.h' line='488' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='exe_file' type-id='type-id-120' visibility='default' filepath='./include/linux/mm_types.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='tlb_flush_pending' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='tlb_flush_batched' type-id='type-id-57' visibility='default' filepath='./include/linux/mm_types.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6440'>
+        <var-decl name='uprobes_state' type-id='type-id-137' visibility='default' filepath='./include/linux/mm_types.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='async_put_work' type-id='type-id-138' visibility='default' filepath='./include/linux/mm_types.h' line='526' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/rbtree.h' line='31' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb_node' type-id='type-id-122' visibility='default' filepath='./include/linux/rbtree.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-139' filepath='./include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-126'/>
+    <typedef-decl name='__u64' type-id='type-id-33' filepath='./include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-139'/>
+    <typedef-decl name='pgd_t' type-id='type-id-140' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-141'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-141' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgd' type-id='type-id-142' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='267' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgdval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='18' column='1' id='type-id-142'/>
+    <typedef-decl name='atomic_t' type-id='type-id-143' filepath='./include/linux/types.h' line='173' column='1' id='type-id-129'/>
+    <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-129' visibility='default' filepath='./include/linux/types.h' line='171' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-1' visibility='default' filepath='./include/linux/types.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='atomic_long_t' type-id='type-id-131' filepath='./include/asm-generic/atomic-long.h' line='12' column='1' id='type-id-3'/>
+    <typedef-decl name='atomic64_t' type-id='type-id-144' filepath='./include/linux/types.h' line='178' column='1' id='type-id-131'/>
+    <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-131' visibility='default' filepath='./include/linux/types.h' line='176' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='counter' type-id='type-id-145' visibility='default' filepath='./include/linux/types.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s64' type-id='type-id-146' filepath='./include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-145'/>
+    <typedef-decl name='__s64' type-id='type-id-32' filepath='./include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-146'/>
+    <class-decl name='rw_semaphore' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/rwsem.h' line='35' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/rwsem.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_lock' type-id='type-id-147' visibility='default' filepath='./include/linux/rwsem.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/rwsem.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='raw_spinlock_t' type-id='type-id-76' filepath='./include/linux/spinlock_types.h' line='29' column='1' id='type-id-147'/>
+    <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/mm_types_task.h' line='60' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='./include/linux/mm_types_task.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mm_context_t' type-id='type-id-148' filepath='./arch/x86/include/asm/mmu.h' line='57' column='1' id='type-id-134'/>
+    <class-decl name='__anonymous_struct__5' size-in-bits='576' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-134' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='13' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ctx_id' type-id='type-id-126' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tlb_gen' type-id='type-id-131' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ia32_compat' type-id='type-id-46' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='lock' type-id='type-id-149' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vdso' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vdso_image' type-id='type-id-150' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='perf_rdpmc_allowed' type-id='type-id-129' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='pkey_allocation_map' type-id='type-id-151' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='execute_only_pkey' type-id='type-id-152' visibility='default' filepath='./arch/x86/include/asm/mmu.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mutex' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/mutex.h' line='53' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='owner' type-id='type-id-3' visibility='default' filepath='./include/linux/mutex.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/mutex.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait_list' type-id='type-id-49' visibility='default' filepath='./include/linux/mutex.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vdso_image' size-in-bits='832' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='13' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-108' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='alt' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alt_len' type-id='type-id-5' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sym_vvar_start' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sym_vvar_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym_pvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='sym_hvclock_page' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='sym_VDSO32_NOTE_MASK' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sym___kernel_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym___kernel_rt_sigreturn' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sym___kernel_vsyscall' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_int80_landing_pad' type-id='type-id-31' visibility='default' filepath='./arch/x86/include/asm/vdso.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u16' type-id='type-id-154' filepath='./include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-151'/>
+    <typedef-decl name='__u16' type-id='type-id-46' filepath='./include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-154'/>
+    <typedef-decl name='s16' type-id='type-id-155' filepath='./include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-152'/>
+    <typedef-decl name='__s16' type-id='type-id-37' filepath='./include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-155'/>
+    <class-decl name='core_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='363' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nr_threads' type-id='type-id-129' visibility='default' filepath='./include/linux/mm_types.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dumper' type-id='type-id-157' visibility='default' filepath='./include/linux/mm_types.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='startup' type-id='type-id-158' visibility='default' filepath='./include/linux/mm_types.h' line='366' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='358' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='task' type-id='type-id-159' visibility='default' filepath='./include/linux/mm_types.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-160' visibility='default' filepath='./include/linux/mm_types.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='completion' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/completion.h' line='26' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='done' type-id='type-id-41' visibility='default' filepath='./include/linux/completion.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wait' type-id='type-id-161' visibility='default' filepath='./include/linux/completion.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='wait_queue_head_t' type-id='type-id-162' filepath='./include/linux/wait.h' line='38' column='1' id='type-id-161'/>
+    <class-decl name='wait_queue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/wait.h' line='34' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-72' visibility='default' filepath='./include/linux/wait.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-49' visibility='default' filepath='./include/linux/wait.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bool' type-id='type-id-7' filepath='./include/linux/types.h' line='30' column='1' id='type-id-57'/>
+    <class-decl name='uprobes_state' is-struct='yes' visibility='default' filepath='./include/linux/uprobes.h' line='142' column='1' id='type-id-137'/>
+    <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/workqueue.h' line='102' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-3' visibility='default' filepath='./include/linux/workqueue.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-49' visibility='default' filepath='./include/linux/workqueue.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='func' type-id='type-id-163' visibility='default' filepath='./include/linux/workqueue.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='work_func_t' type-id='type-id-164' filepath='./include/linux/workqueue.h' line='21' column='1' id='type-id-163'/>
+    <typedef-decl name='pgprot_t' type-id='type-id-165' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-116'/>
+    <class-decl name='pgprot' size-in-bits='64' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pgprot' type-id='type-id-166' visibility='default' filepath='./arch/x86/include/asm/pgtable_types.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgprotval_t' type-id='type-id-5' filepath='./arch/x86/include/asm/pgtable_64_types.h' line='19' column='1' id='type-id-166'/>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/mm_types.h' line='322' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/mm_types.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb_subtree_last' type-id='type-id-5' visibility='default' filepath='./include/linux/mm_types.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='./include/linux/mm_types.h' line='283' column='1' id='type-id-121'/>
+    <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/kobject_ns.h' line='39' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='./include/linux/kobject_ns.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='current_may_mount' type-id='type-id-169' visibility='default' filepath='./include/linux/kobject_ns.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grab_current_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='netlink_ns' type-id='type-id-171' visibility='default' filepath='./include/linux/kobject_ns.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='initial_ns' type-id='type-id-170' visibility='default' filepath='./include/linux/kobject_ns.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='drop_ns' type-id='type-id-172' visibility='default' filepath='./include/linux/kobject_ns.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='kobj_ns_type' filepath='./include/linux/kobject_ns.h' line='26' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-39'/>
+      <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
+      <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
+      <enumerator name='KOBJ_NS_TYPES' value='2'/>
+    </enum-decl>
+    <typedef-decl name='kuid_t' type-id='type-id-173' filepath='./include/linux/uidgid.h' line='23' column='1' id='type-id-174'/>
+    <class-decl name='__anonymous_struct__7' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-174' visibility='default' filepath='./include/linux/uidgid.h' line='21' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-175' visibility='default' filepath='./include/linux/uidgid.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uid_t' type-id='type-id-176' filepath='./include/linux/types.h' line='32' column='1' id='type-id-175'/>
+    <typedef-decl name='__kernel_uid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-176'/>
+    <typedef-decl name='kgid_t' type-id='type-id-177' filepath='./include/linux/uidgid.h' line='28' column='1' id='type-id-178'/>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-178' visibility='default' filepath='./include/linux/uidgid.h' line='26' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-179' visibility='default' filepath='./include/linux/uidgid.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gid_t' type-id='type-id-180' filepath='./include/linux/types.h' line='33' column='1' id='type-id-179'/>
+    <typedef-decl name='__kernel_gid32_t' type-id='type-id-41' filepath='./include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-180'/>
+    <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='131' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='active' type-id='type-id-129' visibility='default' filepath='./include/linux/kernfs.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parent' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/kernfs.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rb' type-id='type-id-34' visibility='default' filepath='./include/linux/kernfs.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ns' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hash' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='' type-id='type-id-182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='id' type-id='type-id-183' visibility='default' filepath='./include/linux/kernfs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='./include/linux/kernfs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='mode' type-id='type-id-99' visibility='default' filepath='./include/linux/kernfs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='iattr' type-id='type-id-184' visibility='default' filepath='./include/linux/kernfs.h' line='161' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='150' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='dir' type-id='type-id-185' visibility='default' filepath='./include/linux/kernfs.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='symlink' type-id='type-id-186' visibility='default' filepath='./include/linux/kernfs.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-187' visibility='default' filepath='./include/linux/kernfs.h' line='153' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='84' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subdirs' type-id='type-id-5' visibility='default' filepath='./include/linux/kernfs.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='children' type-id='type-id-125' visibility='default' filepath='./include/linux/kernfs.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='root' type-id='type-id-188' visibility='default' filepath='./include/linux/kernfs.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_root' size-in-bits='704' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='183' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/kernfs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ino_idr' type-id='type-id-190' visibility='default' filepath='./include/linux/kernfs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='last_ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='next_generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='syscall_ops' type-id='type-id-192' visibility='default' filepath='./include/linux/kernfs.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='supers' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='deactivate_waitq' type-id='type-id-161' visibility='default' filepath='./include/linux/kernfs.h' line='197' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='./include/linux/idr.h' line='19' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idr_rt' type-id='type-id-193' visibility='default' filepath='./include/linux/idr.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='idr_base' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='idr_next' type-id='type-id-41' visibility='default' filepath='./include/linux/idr.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='xarray' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/xarray.h' line='292' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_lock' type-id='type-id-72' visibility='default' filepath='./include/linux/xarray.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xa_flags' type-id='type-id-194' visibility='default' filepath='./include/linux/xarray.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xa_head' type-id='type-id-108' visibility='default' filepath='./include/linux/xarray.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='gfp_t' type-id='type-id-41' filepath='./include/linux/types.h' line='153' column='1' id='type-id-194'/>
+    <typedef-decl name='u32' type-id='type-id-195' filepath='./include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-191'/>
+    <typedef-decl name='__u32' type-id='type-id-41' filepath='./include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-195'/>
+    <class-decl name='kernfs_syscall_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='171' column='1' id='type-id-196'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='show_options' type-id='type-id-197' visibility='default' filepath='./include/linux/kernfs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mkdir' type-id='type-id-198' visibility='default' filepath='./include/linux/kernfs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rmdir' type-id='type-id-199' visibility='default' filepath='./include/linux/kernfs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rename' type-id='type-id-200' visibility='default' filepath='./include/linux/kernfs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='show_path' type-id='type-id-201' visibility='default' filepath='./include/linux/kernfs.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='96' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='target_kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='100' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-202' visibility='default' filepath='./include/linux/kernfs.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='open' type-id='type-id-203' visibility='default' filepath='./include/linux/kernfs.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-112' visibility='default' filepath='./include/linux/kernfs.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='notify_next' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='220' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='open' type-id='type-id-205' visibility='default' filepath='./include/linux/kernfs.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='release' type-id='type-id-206' visibility='default' filepath='./include/linux/kernfs.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_show' type-id='type-id-207' visibility='default' filepath='./include/linux/kernfs.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='seq_start' type-id='type-id-208' visibility='default' filepath='./include/linux/kernfs.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='seq_next' type-id='type-id-209' visibility='default' filepath='./include/linux/kernfs.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='seq_stop' type-id='type-id-210' visibility='default' filepath='./include/linux/kernfs.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='read' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='prealloc' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='write' type-id='type-id-211' visibility='default' filepath='./include/linux/kernfs.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='poll' type-id='type-id-212' visibility='default' filepath='./include/linux/kernfs.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mmap' type-id='type-id-213' visibility='default' filepath='./include/linux/kernfs.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernfs_open_file' size-in-bits='1088' is-struct='yes' visibility='default' filepath='./include/linux/kernfs.h' line='200' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kn' type-id='type-id-69' visibility='default' filepath='./include/linux/kernfs.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file' type-id='type-id-120' visibility='default' filepath='./include/linux/kernfs.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seq_file' type-id='type-id-215' visibility='default' filepath='./include/linux/kernfs.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='priv' type-id='type-id-108' visibility='default' filepath='./include/linux/kernfs.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='prealloc_mutex' type-id='type-id-149' visibility='default' filepath='./include/linux/kernfs.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='event' type-id='type-id-1' visibility='default' filepath='./include/linux/kernfs.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='list' type-id='type-id-49' visibility='default' filepath='./include/linux/kernfs.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prealloc_buf' type-id='type-id-9' visibility='default' filepath='./include/linux/kernfs.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='atomic_write_len' type-id='type-id-101' visibility='default' filepath='./include/linux/kernfs.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='mmapped' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='released' type-id='type-id-57' visibility='default' filepath='./include/linux/kernfs.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='vm_ops' type-id='type-id-119' visibility='default' filepath='./include/linux/kernfs.h' line='217' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__poll_t' type-id='type-id-41' filepath='./include/uapi/linux/types.h' line='52' column='1' id='type-id-216'/>
+    <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='./include/linux/kernfs.h' line='108' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-217' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='id' type-id='type-id-126' visibility='default' filepath='./include/linux/kernfs.h' line='119' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__9' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./include/linux/kernfs.h' line='109' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ino' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='generation' type-id='type-id-191' visibility='default' filepath='./include/linux/kernfs.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/kref.h' line='19' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refcount' type-id='type-id-218' visibility='default' filepath='./include/linux/kref.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='refcount_t' type-id='type-id-219' filepath='./include/linux/refcount.h' line='21' column='1' id='type-id-218'/>
+    <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='./include/linux/refcount.h' line='19' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refs' type-id='type-id-129' visibility='default' filepath='./include/linux/refcount.h' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='50' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attr' type-id='type-id-98' visibility='default' filepath='./include/linux/module.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='show' type-id='type-id-221' visibility='default' filepath='./include/linux/module.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='store' type-id='type-id-222' visibility='default' filepath='./include/linux/module.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='setup' type-id='type-id-223' visibility='default' filepath='./include/linux/module.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='test' type-id='type-id-224' visibility='default' filepath='./include/linux/module.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='free' type-id='type-id-225' visibility='default' filepath='./include/linux/module.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_symbol' size-in-bits='96' is-struct='yes' visibility='default' filepath='./include/linux/export.h' line='69' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='name_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='namespace_offset' type-id='type-id-1' visibility='default' filepath='./include/linux/export.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s32' type-id='type-id-227' filepath='./include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-228'/>
+    <typedef-decl name='__s32' type-id='type-id-1' filepath='./include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-227'/>
+    <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='69' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-52' visibility='default' filepath='./include/linux/moduleparam.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/moduleparam.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='perm' type-id='type-id-231' visibility='default' filepath='./include/linux/moduleparam.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='level' type-id='type-id-232' visibility='default' filepath='./include/linux/moduleparam.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='flags' type-id='type-id-233' visibility='default' filepath='./include/linux/moduleparam.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-234' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='47' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='set' type-id='type-id-236' visibility='default' filepath='./include/linux/moduleparam.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get' type-id='type-id-237' visibility='default' filepath='./include/linux/moduleparam.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='type-id-172' visibility='default' filepath='./include/linux/moduleparam.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='s8' type-id='type-id-238' filepath='./include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-232'/>
+    <typedef-decl name='__s8' type-id='type-id-38' filepath='./include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-238'/>
+    <typedef-decl name='u8' type-id='type-id-239' filepath='./include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-233'/>
+    <typedef-decl name='__u8' type-id='type-id-40' filepath='./include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-239'/>
+    <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='76' column='1' id='type-id-234'>
+      <data-member access='private'>
+        <var-decl name='arg' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='type-id-240' visibility='default' filepath='./include/linux/moduleparam.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arr' type-id='type-id-241' visibility='default' filepath='./include/linux/moduleparam.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='86' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='maxlen' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='string' type-id='type-id-9' visibility='default' filepath='./include/linux/moduleparam.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='./include/linux/moduleparam.h' line='92' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='elemsize' type-id='type-id-41' visibility='default' filepath='./include/linux/moduleparam.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num' type-id='type-id-244' visibility='default' filepath='./include/linux/moduleparam.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-230' visibility='default' filepath='./include/linux/moduleparam.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elem' type-id='type-id-108' visibility='default' filepath='./include/linux/moduleparam.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='307' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-108' visibility='default' filepath='./include/linux/module.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='text_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ro_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ro_after_init_size' type-id='type-id-41' visibility='default' filepath='./include/linux/module.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mtn' type-id='type-id-245' visibility='default' filepath='./include/linux/module.h' line='320' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='./include/linux/module.h' line='302' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mod' type-id='type-id-64' visibility='default' filepath='./include/linux/module.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='node' type-id='type-id-246' visibility='default' filepath='./include/linux/module.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='./include/linux/rbtree_latch.h' line='40' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-35' visibility='default' filepath='./include/linux/rbtree_latch.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mod_arch_specific' is-struct='yes' visibility='default' filepath='./arch/x86/include/asm/module.h' line='8' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-88'/>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <qualified-type-def type-id='type-id-253' const='yes' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-229' const='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <qualified-type-def type-id='type-id-235' const='yes' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-226' const='yes' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-204' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-202'/>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-243' const='yes' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-241'/>
+    <qualified-type-def type-id='type-id-242' const='yes' id='type-id-263'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-79' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-228' const='yes' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-55'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-151' const='yes' id='type-id-231'/>
+    <qualified-type-def type-id='type-id-153' const='yes' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-30' const='yes' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-286'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-287'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-304' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-318'/>
+    <var-decl name='__this_module' type-id='type-id-47' visibility='default' filepath='./include/linux/export.h' line='15' column='1'/>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-52'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-260'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-255'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-288'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-283'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-188'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-285'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-294'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-292'/>
+      <return type-id='type-id-216'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-295'>
+      <return type-id='type-id-57'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-296'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-286'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-298'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-299'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-300'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-96'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-302'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-303'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-248'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-99'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-304'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-305'>
+      <parameter type-id='type-id-286'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-306'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-307'>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-289'/>
+      <parameter type-id='type-id-287'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-309'>
+      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-310'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-311'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-318'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-313'>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-290'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-293'/>
+      <return type-id='type-id-108'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff/test-crc-report.txt b/tests/data/test-abidiff/test-crc-report.txt
new file mode 100644
index 000000000000..4572a207a5ae
--- /dev/null
+++ b/tests/data/test-abidiff/test-crc-report.txt
@@ -0,0 +1,9 @@
+Functions changes summary: 0 Removed, 1 Changed, 0 Added function
+Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
+
+1 function with some indirect sub-type change:
+
+  [C] 'function void exported_function()' has some indirect sub-type changes:
+
+    CRC value (modversions) changed from 0xe52d5bcf to 0xe52d5bd0
+
diff --git a/tests/data/test-abidiff/test-empty-corpus-report.txt b/tests/data/test-abidiff/test-empty-corpus-report.txt
deleted file mode 100644
index a9d032e74e35..000000000000
--- a/tests/data/test-abidiff/test-empty-corpus-report.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Functions changes summary: 0 Removed, 0 Changed, 0 Added function
-Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
-
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index 4c9a766f1c7c..a8f632bea3f7 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -1,41 +1,41 @@
 <abi-corpus path='data/test-read-dwarf/PR25007-sdhci.ko'>
   <elf-function-symbols>
-    <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_calc_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cleanup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cqe_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cqe_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_cqe_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_dumpregs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_enable_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_enable_sdio_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_enable_v4_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_end_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_execute_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_free_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_remove_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_reset_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_runtime_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_runtime_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_send_command' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_send_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_bus_width' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_clock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_ios' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_power' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_power_noreg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_set_uhs_signaling' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_setup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_start_signal_voltage_switch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-    <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x74ae518'/>
+    <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x711f65c'/>
+    <elf-symbol name='sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7bfb1b1a'/>
+    <elf-symbol name='sdhci_adma_write_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x61fdb22'/>
+    <elf-symbol name='sdhci_alloc_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfeefe08b'/>
+    <elf-symbol name='sdhci_calc_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xbfcabe7e'/>
+    <elf-symbol name='sdhci_cleanup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x380506bd'/>
+    <elf-symbol name='sdhci_cqe_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x69b1936e'/>
+    <elf-symbol name='sdhci_cqe_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x5ebbc838'/>
+    <elf-symbol name='sdhci_cqe_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1e31bffd'/>
+    <elf-symbol name='sdhci_dumpregs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xda29e2bd'/>
+    <elf-symbol name='sdhci_enable_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x3862257d'/>
+    <elf-symbol name='sdhci_enable_sdio_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x143583bc'/>
+    <elf-symbol name='sdhci_enable_v4_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe3843e2e'/>
+    <elf-symbol name='sdhci_end_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe6d3b6ee'/>
+    <elf-symbol name='sdhci_execute_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x452bd7b7'/>
+    <elf-symbol name='sdhci_free_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4626d735'/>
+    <elf-symbol name='sdhci_remove_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x6be911b2'/>
+    <elf-symbol name='sdhci_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x762121fa'/>
+    <elf-symbol name='sdhci_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1a38d936'/>
+    <elf-symbol name='sdhci_reset_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd0ca49ae'/>
+    <elf-symbol name='sdhci_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x2e5157bf'/>
+    <elf-symbol name='sdhci_runtime_resume_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x62e5c15d'/>
+    <elf-symbol name='sdhci_runtime_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4526a0d1'/>
+    <elf-symbol name='sdhci_send_command' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1512952'/>
+    <elf-symbol name='sdhci_send_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x213a51d7'/>
+    <elf-symbol name='sdhci_set_bus_width' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x67f74689'/>
+    <elf-symbol name='sdhci_set_clock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x5825825c'/>
+    <elf-symbol name='sdhci_set_ios' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xddc78000'/>
+    <elf-symbol name='sdhci_set_power' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xc9e167b5'/>
+    <elf-symbol name='sdhci_set_power_noreg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x60affb80'/>
+    <elf-symbol name='sdhci_set_uhs_signaling' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4015e747'/>
+    <elf-symbol name='sdhci_setup_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xc5d73caf'/>
+    <elf-symbol name='sdhci_start_signal_voltage_switch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xcb9c7748'/>
+    <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x39f40b95'/>
+    <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xa6de7a42'/>
   </elf-function-symbols>
   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
     <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-1'/>
diff --git a/tests/data/test-read-write/test-crc.xml b/tests/data/test-read-write/test-crc.xml
new file mode 100644
index 000000000000..d74bb5700383
--- /dev/null
+++ b/tests/data/test-read-write/test-crc.xml
@@ -0,0 +1,10 @@
+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
+  <elf-function-symbols>
+    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe52d5bcf'/>
+    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfda43846'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='exported_variable' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xee94d699'/>
+    <elf-symbol name='exported_variable_gpl' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x41336c46'/>
+  </elf-variable-symbols>
+</abi-corpus>
diff --git a/tests/data/test-symtab/kernel-modversions/Makefile b/tests/data/test-symtab/kernel-modversions/Makefile
new file mode 100644
index 000000000000..1479ae4b03b0
--- /dev/null
+++ b/tests/data/test-symtab/kernel-modversions/Makefile
@@ -0,0 +1,19 @@
+obj-m += one_of_each.o
+
+# Overwrite to an actual kernel dir when using this:
+#
+# $ make KDIR=/path/to/actual/kernel/source/dir
+#
+KDIR := /tmp/some/kernel/source/dir
+
+PWD := $(shell pwd)
+default:
+	make -C $(KDIR) tinyconfig
+	cd $(KDIR) && ./scripts/config -e 64BIT -e MODULES -e MODVERSIONS -e CONFIG_DEBUG_INFO
+	$(MAKE) -C $(KDIR) olddefconfig
+	$(MAKE) -C $(KDIR)
+	$(MAKE) -C $(KDIR) M=$(PWD) modules
+	rm -rf *.mod.c *.o .*.cmd .*.d *.mod modules.order Module.symvers .tmp_versions
+
+clean:
+	rm -f *.ko
diff --git a/tests/data/test-symtab/kernel-modversions/one_of_each.c b/tests/data/test-symtab/kernel-modversions/one_of_each.c
new file mode 120000
index 000000000000..27c87e5758cb
--- /dev/null
+++ b/tests/data/test-symtab/kernel-modversions/one_of_each.c
@@ -0,0 +1 @@
+../kernel/one_of_each.c
\ No newline at end of file
diff --git a/tests/data/test-symtab/kernel-modversions/one_of_each.ko b/tests/data/test-symtab/kernel-modversions/one_of_each.ko
new file mode 100644
index 0000000000000000000000000000000000000000..c6f1bed5a04fdd035459d11260a940ef1b45f35d
GIT binary patch
literal 131760
zcmeFa33Oc5l{R{Bm83eFt29(;vRsyATec<7gN(5)%a$z}TQVLr7@M+&(ttHZg9ivh
z7y^MnfG`sXQxY-|2$_H+gbd^-<4-yRBu)M%Nq2`%(iyswm2|q(dEdA9xm8y{-h2NW
z)_VVXtz}*9@0@-1IcJ}J_8IEd_T{bnb_ZP7@qS!qo0CRfs^d)kDV^FZ$<59pC+=i`
zF2QdQzk524IM1%Q_=7hFmtK12%kS-b_w6sm4&O1bB@1~{8jpRW6LV*P`SYbOeMyP`
z8_(pKsmbZt<Y3}d-}Go-|5!3HJT>OLAvK*cG&eCYJ32WrpU+Em29s0CiNTqz&P3mM
za_i(oGBG)nNcIhkIH!`+<9)-U16wz&T)%Stn)vwSAd+SvY9{{IJ20{NeM^`N?m0AW
ztncjP-0WXxe?v|HDb$_l?+v+sJ;C4dzs~hvIsbpxz)fwA%wfkd-V~j$5>9OICtyM(
zgN=A(@R7+!2Y$0ixK7BNz~3NK0xqY$6YM3OA>|Ac0wv{~|2A8bN@F)jlAs`IO^;PP
z%=ADeo;Inh>{F8D6IfC9RU~C+WR6bEIziG}x-yzf(bWzA%wonTY2k8CD%+);nI<O~
zE*t|>&K$@{;pHS})@*cwMTK`tGU?*N4}lIYL&=<(b!(kqN#W<1a1ImZm{3~yJt?_y
zy%UTU{#Z(qjurk6w6rXvu<#P8I^CL#aEuz%>^13zXRP(nZ53CdnDVrjPp0UeVs<WM
zsA|d0Twj&ydRB2cH74m<)sf$^VwYaUCdDgm@&siqs<<abudH}BMQ^Hje~Lc0;>i?!
zvY;qMj}=lWTFq_w11b9MIGd82k@ey1%TR3|YtH&e7Kh1We=InRoLrOjMD~LzmXBq1
zLx#ulWbk_A<TD|h^-1%+6x*jtNL#U=sw6N_#bfweAlxSFZ%qb_SSx;|jI;$m$}R;U
z``?1SkRUACA(I0-Vu~oCInW%sz%|tvtYYHOF}I|5HwZ-ux0sa~Mg4B*H@h6COi|J;
zb6OqefTAI{@>@VpC>nMPI8B~XG@|G^MWb%f!mW<;f}%0EI=07gUQ{&h<}UzxS<!@B
zNcFy2a&pQE&APE#WWA<YbDH%VMQ0TKPSIHv`NvX}bwU@bNXJ!pnPwUbFW20#g;%Jc
zG7GO#SY_eWS~hOsHCndb!W-StYZ%nk7T&DPO%~pw%*__ws*>9*yj|fw3-55_E78{j
z7T)ceyD>mLZd7{o9yj(RhN$@pi|<oxUbO5FxRpP{FvSDf<A>ZZXP*b3cFot&%=&;6
zqcl?(T>x_^BYonTGIC0K_MSXivCuj1THJy9L*}SFZ$*0WFi5f3Jkx4!0}vB5yVdp;
z>=BTmpiO{rf(a4wUOdZLL&$sxWQEMF+%x%1%KR`=zKGvStv~nL@=pUvTXL^mLpqc0
z;2(S}H<$e|#d1pld#LQUmL|bjg<qR+S3DcOTQl#?=ZGo&VBsSv0S`-h<_Q#P2Xmzp
z+~$?Z%PnS-l*!8zI+JaFi|}dkw!EPf%fb9qyYh~RN*93J$t!aONW+2;fnAedb{BsD
zKs0Oe&ow^=5dGzE&A*?_3brk5T0=2Xs9?KW_cZvb>39DOBFqNayk@sBCqym(3K`0t
z7f83GAm0xP0#O=(vK9Js!hR6(gCajD_Ja~Xhz3NbDtbX6LU*ZPjh}6uvMpo>LKz&o
zg3W>aKcEM3Ch60SlMKi+D9;ReX38_m%H0tNK8<pV9Q*_edIDxEY)m{vL2n>L`?2V#
zB3JV+2*@-JIKd3?XR^>i{K_66;sjejYr8KD#F?SsL_kbI!ATz|TorJsQytN8srfj{
z$RLKJzPS>P>0I$yY9!bFGI&E$LW(yR<(iM=*y2TbhO4;BD#{n&ir}IG!*x8MpiqEL
z!lJOSWob@CKuAH60HdH-K(>Ms5s;&xR6w4BsIV0%hzTfEP$q0)1(gDd6jTW)QLsQj
zR6(`j-l9ywLIG6@;=&fUpopETQLspI>J-#S3zjIT6|hu6oq&1;iv=uGutdOe1xp32
zP*5+RLBTQsjS7}ar7IPz5U^T7gMhUP8U?IZuu}T7QNbz!=O|b$L%Pk$<Y;~tqic7Y
z;!27`m0yDm$mo}pl$-N%?SPk5h;$wO64kH{cuAE=*8wk44ePL$R7)8h$&!TvbR<hu
z!#a{Bs#G1kk{V$vQioTXE8bL^vpQN~zUeh5S{Zu*P1oi`tBSZO(=m=NF!V+`tkG%#
zI;_!!0(4lTaREA#(M1AuyrMM%8ngw`BW2yFG}pv>g6xRsFxHzxo3P-h098ipf*cxE
z1`8Yy9szev|J;ldyD&RFcVY<vI(K3x1lZDj0)kpee_B*BIF_n=D2H2LY0^mWs#Nl5
zI{9Sqo>cN!I(Z`au~hP;O|CVu?m!Uwts9-`b7IG;e}K-`O%04Xv4Lv#cQLDq4Og=(
zN?%mXwkSPb%?2nvRn1zR+;D6r*a3+IPHfiS@i~9TPx;k$TKlSH&Pd}7MO_?xe@fIP
zDyn8|Zo-MZ)i3H&0ak~X39vf6+%NZvwA?F$KZV?y(LpD6m5!x~y;@kTq-!Kc%{TUT
zk(9?qT^9^tH>_=ahbmIR_2~-U8C(ILn&ccbd841_rZmsZ!OoPNTa-szaci3Aw%|;P
z=XSrGJJLLN1s_TA+%3(tjl0L+`+L&`?hF1pRp5Trs&?SLeyu*>AD{>Qq8>_%dIX0!
zPZ#g=x9|Oyr#2j$4%`l&y1rRh*x71Yn_A4<s%a-mUt7(AuA7_bcVahGb8s~MUDedJ
z((kUOPU}Y3PCBtWtEoFpe@``ar1Znp)P>R?sAf0SneC0WnH$4iOWS?UEVfsG9rN>i
z&MdZ1fI73-egW#gVjYH)P+eB6Qv|5Ti5(EOikg$jvrg=M$*ET59t_b3#1$M8ut>pS
zVXIMaB*b>AV~TZ!?gLQA6njesC$PHy*rOR#e3O>>ph#;|@F4;1>fl*i9DGpmV;&Bv
zUJk|{Gtr2rmyb$OYdwz(ux{!Jzmh&CKs|o!Nnz6^KK5||y2QsmQOR*P&XVNdptCv<
z`?R?rRnt?2q-{-47o7xXUWx=K_DuK&{Ama%`i!8)fRmX-D%qqrg-#}Wa*2mCoqAT%
zS6R%?z<Mw^Wij(r08vU=nGA~s<pQ+*WfcN+kjp9s<f-p3&nvsulXgW#rumI0ts*N-
z8oM<%)xp758g;oAt2E``L$0i+RmaoY@v7rXQd{$?<6Beof)?2X3;%+hX}UVsN9XzI
z0v}!Iqr*aL=ND$0kDy)B`Gr}AHwf@X6NApekO1RkUXA=u<JTT~;?Yu;kY>bVvSZIY
zfl~i~MCsl_dE!9z-;p94&qa-HF|(I}&F-FSuFqPJeQlg6|7SMOMlU&P3(_|>wM9O<
zSZHZf?F!ipDBU2m?6plzwi~_?mCAk^VDUboma_?ftEK=~n3`NS`{STWriKR{fXZec
zSFT%g4`Aj_oDz67AYBb<FKhmr8+neIn~?d>ug`qJ4gUyfTG_w5(NGDu(D``M_c%?a
zZkO2!BqLGRDo10d;VO72V;Y~uADz#2U&-YOWxcKP&u)Zj6fM{MrypRO&HasNVR5IN
zab(0Z7EhR4ym}T-iZo6>{4B{U;Z2YzD`WA6u6YK0C3H}W6K=^V04r~4k9!}G$TRhk
z@Q*!t^^pqF&_N>}zXd4@vhwRATfTxMX;S^sSem}TM<4Ui$9?pGoXoWB)kPF7s;vKY
zpzI*-6EZ2SAB3$ib3Ga`oyI}tiJI!;!2)Io$2}fLvn?0AI>k303@}@&To#J9rfB1%
zvwd`q(4v)`<)bD8w<0o{%P)#>-)X@~8CrYGv7%V!;z~VIo|Bt(B?_$~GtNmKk>L@>
zBf=gL_lRbXxWXeG*UE7M9+BY@MtjxptF+f?__ffYqK0xekDfrmI#)(p!FoT~;0K%h
zph<ym!Z&Wo3PF`|>6$!UCzF?#F{E1Mi>e!&E6Awy4j<j(qj&n~T|T<iNADI|hT}Jl
z9cE)WX8D<>jZR~yZ!6Pyz_*oYJYRq=@r?%s=mxRzh-~(CDQN7L99;?;dj#m2wDG6_
z-3m5dARt$4pz*lw3l$_pnr;gkPvo#^dMat`%iawzsBHb&T>!HR2E$z0KA|8f0-jPZ
zEa0;WMg%;kU{t`D6<ieIq<lfan4#`pR4^{!Zxl=j_^yIU0pC~f76C6Sm=W+p1#<#k
zQE*zo|4?v7z^e+*3iyeFO9cGAg14IU(45y4To&R5_b*q|R2nbOW4ANh*e{*T?}4Iv
z#9WH?u8kTJjHSL8`9mJwZcXUE%9AN`x?ku;U~@(q8(dRfVON93Mps(kl*~-6b{bc@
zviM~Ht#KOHE6M{}>ojgrR06k)=519}RWdp=>ojh2%^`@a)4c5}^O&M$MJE*PaHac$
zidqy6*(N_waT$7{GvL86twZUDgx0IMt*A#+KT_8MI+GK20E8$b%UQ$bIjfy;V~=ZY
zLAus-p<6=P77e)(W{s%7ehB1R+6d02>-eW})O9J+39Gbbr@8TzYrdV5c3J^y?*-RS
zyz+n9uCAl;V%PmO5<})=c#7IrH(u?Uc%|2X>lN7M+@LqY^(t;PxTG^nt+bn5_xF$^
zj;Qet*QH@7c-)m`UcnQ7@KQiF2AcEZK=~`4dv6Q|3%EdPPKF<31q<07&ABb;QnL$@
zV7D%f-wI~^9Bqp;NuO?<<eOalSs^b4tDi)P%){UcVf>_93!UH}kSK$=a!n=Eg<h5I
zvSI6;)#cf;F0U>xsq-?|MAFOpnj)da!#Qh9!Xsdk8ML;vXc=g`?5<r9+z(Xitlbv4
z9t8Fh80YOVCh8jQtlb*sC2r#^lXNq%wmnE@Y0<izvK!D6q1P9scUS9+ee|ky!`81!
z-(PRIA-(h5@Xj>7u{O=WvCc;y^wEcemPSeCn~JMfVpwuBHkD>~fv7pvH|A`Lnt#U#
z*>-P=1-C0pMfTYgOQi{6XXCL{1^baBdJ8wzn8yG_Z%wrY>AUQvI{ApnmT6iNzlLJX
z=Kky#J^s!8MY`RQVcOi^^fYp$p_>Pa$>p<}&DXkFORE2>)x4SQWKzUNlo4~uP+Qu3
zk6TPRA=8fM26pNRQ&;Djc2p*Fyl$yZBa7-4=|^RC4Q}~PlnX0ogIh~fwvl4$R=SbL
zAjHHqbE6h)Qgn`6G7-n&OVJiLmpkb;MdvE#0Tt8gX5=q{m>$jCuOHQ&QPk-cpM%Wn
z6diOI?*+P9(GeAMm!fVr{AZZz1B!aw>`Htb^r)f%w<?HoPdIktv}HxsDYP8z!;d^&
zdCt?S4tRXax#kw|%7Aa#8YYdI$u04NAVt+d9mI3@iTTO?yv%GZGe7mpZ7r9zRE2D<
zC}M_g2ewuU2xEMxOR+Jtb)m^Xd!)*(abd7o@olwcx0ki8F3e^q-?rrfRO+^s5l(L1
zFl<{Th8b4jW!ozZ2S$W%uaplaEvPD?W%HBPSukvZWT!1yH;oVN02`ly0v&im418%I
z{0g>eZ9%7r*x7TF5i4#!u#~<}>GSt(MwZggrswgF98nS~a-1F2`r(mGhnCXtFXFV*
z-{M*LA9#fMKtf=V*ZY<svk5@j-ZJd#eanb`zN<N-1%HQ<W%?OJNQy{(EpKxdos04c
zuJnVe{NQRoxW*6O?g!T@kS^}bO}n9;c|yxrmhIYLe(p7S*TzVCz;<mC=b;0(Ym2tu
z$!%-R&mOI@eQYhtqC&O9tyTFvZfSwm#d1c_5pJz7{3Pnoo1)fbg|z(DqKek#m5Xb=
z>zvjGIlVP&&e|;Q=yoYsm$d+3x0=Yv?tBwRDaqPhU?|RlLOG0>n!d4FXLm$^Heq+9
zv=Lm|gx$p<euNiS0i^=!6+{JS<95dcG-*zm0Bzjvash3cQz77hf=U5B3aSL0aDvoW
zNE$7+)VeuHrRUbybp+?olbW&VIj8P$Dc=Fmp44?!T#O8Dd|h{5y76@v77@ff>tXp^
zQ+FbGCkUywE?L+~LAbN6yD0O8RPxDU9?~t(cn%k39jv+u0eMbsxNaolrzjw6YTam*
z4cbh>SflDL$y`v!Ef{|4-YOF_BOJE)QpJU?#g{3DmYrHtcP3*ON~+Maxg0O0FD_<R
zHnT=5V>mbqwnnztwsJ0Z7AaN>r*l}ctdXrqb)O~B&nttU1EJl&N)%+l+lzQtW&3%p
z06p8(U6-$~lH|tgt`GhyRr&^h>30gSrEik)3A01DWrWcK?ZoXd`YWaHD4<LSB5w{J
zMv^w@7Qe__3;qPBZ$-Xaa>9+QzN}_ycFd`}w~%XgoSnKqcqS#|fwD_kg$jI7G+{gw
zAlEtdrfz?L7b}}LL4TXC;DcJ<d^sP~&StiGGn=&qlAOB7i}}WiacVQ_o(%jE$@qul
zPv@}@N`GDsX-a>=M}ILy>+$Mm*>j1Vx=Pn<jhng_H?RTzc-wTpQ@7JCl4aPg-@9B{
zYf|2ie6k}7HiHV8Ry-F`R=94+HJ1SC8aeDn`7y0UBW{#gTnr9)1y<Lc#2rtnz?iF-
zL0Wv=EhVGfHcYrBT&BvL?N~u(+`!whTqxhHTfr@aMRRV^KXEP8yi;z7?#^yD&bY-N
zM6oi>d#iRUuIN%l^@^@iv|7>Cikjp?uI?H)_i;#R*1UUMQGT1EhZX6yUfug~xWW8A
zpm~qFG6Z&0@*!88wI0pt9&=+E=-mnBeB3SJG`>R7r?hsvMftQMyG40g(F4l)jG{*s
zea4N@yFa1mvzqsmqR%OMPSLZ9UQqOTMK3D)g0}NzMPJms6k0%U@T!-$l;|}Ntt0x4
zqAzK=KQ{MIpLFWJ<W@1yzIX(<h|s=xRQF}&4eL8QfWmBFJOW%yX8WcQ;A%qqrcvEj
z+{h;}HmhyfZ@5wJ%5K*8ed@mDmVFJmPgwYEH@pIK?kNkuqxIrdJ_vN`zUM|?1hcX5
zHMipXfME-N;YPVPEVD2(AXX5!&;$%$pQ*DjCs4)>&tePlE(tdv^+BhaZKp}fMpG9*
zCZ#FN7Fs%9b$}w}PV;#{*(0v-CNon)=53fOA;ZIou>AswJ19%{CUs?ja_+(8%CheI
zfV`at7L<{9N!pfWor^qh;76XWJOlC!`konjh};KmyHyRcr0iMRc2_c8>E867rLC>s
z+=2}8g>3`Hq%9Z}-_q=4(&8UPx)thg+p}3_#hbLvl~(y%$T@`m%QH)!A$b~kX3H~2
zp1JbObNtnOC+lbPtNCk+_@AyuD$AE=fjkT48J1^6o<;I3mS>4POXV4rXH1@D@+_BU
zg*+?eStZW}@~oEULV3ph$G^5LH)~<To2c<k6sYbz-nPIsdr?H@aN80$vdzJdqNR$$
z%6diHa@_HxSXa0u1eUeItz^XqwBSm&h)!`z(P~%L(=&Gb!6xIMF|Xy#Zq_%EBYk?4
zG0`S8x9xLH2`pX(?|1bbB1IjFG8A<xGKvnm#Vi)qCe(qHCImdOM_j{+R5CR%<+OFV
zF*e06c#GQlTr-xcv)|1Oxv6dsxS7ntB{LJ>>d9R=uWKW2)}zSzt6kf~y22T454z@s
zm0sW8=Y|PvPv5VH)-vtQql)5+KJJEI24}sZr`%`>HiONIo_1?1fZ7yUuWJYCpLFHw
z(Y&9lXFQ?k7m7v{{j*!xfu`8u{IhEIjOGOc#c|Ydg*eo<tbk1QyVMJ|Wd~#de89ru
zfH*x5t_)<;gFb3=*9Ic1A?XPV*99WYfMNI|D9>RR?U-fqnDAN}i~dFm+MWr7*>!E#
zX95K;0qEJY?X!WRp8>7T(`J4yAciw#;kUJ2XDs|1g;!Yk9fj9f_&qIqvxVOe$ocm!
z3tv+BsD&>FWP9|Kg+J7?&sq4lfe20J%NG7fb6>FVpH!DGTKId_<;xak1S6cb9?S}g
z;(PM7gSo-FKcK%SEX)f={tP&hkJW>U3mHy<%u%>vs$BG%qt_GEx!_#I2Y_2R0FJZM
zE+dx)vc`}amqdBGI*-C_HwMg|$kHLWDNsmY(Yv&F+#7N>EMn>Awg&>{nN)!X0}%qW
zjPk#RUuj8Dm$$a}2TFNV%4Bhlre_ZKfo5+7vvZuva@UfN8)ZpdsMn48>k7+}6fz6(
zto|x$;)|qVd9aURIkbk%Hl*gWA!Yd+%?v;uLH?#N1zOM~FQMv*A%C;jlf5jd&);G0
zO%-a1%2J{dc1oeRuAce7T0+@!uh91Ppe&{GHtm;@YCETyp9toCBE|V!F#Q=?+w;Ln
z4yb6;wB3<mqH8^c-<c7RdqW+JyEDSf!YA$Q=n{~2RHbOR?STw)eyZqW88T7r$UUA>
z#Vn58FH)`eYQ};=B!<jI@}xj*>xxXdwh5W5kW_dR9;#K@Ftk^v?{fF<D4@C}eQ(Qx
zCq>SBG%jS4c=}fDz1>;=gxok%?bD5uw5ytKR{jkfR%t<UtK17KnXdGS(q}#TyogIR
zNcwqIX?ouy={x29=T*=`q*omW0|ggg^8(AkGxJ5H53Z9}qkHj3#B??mF-dL`I#=bt
z4YXL;BOt=^pfu4%_z=??wXYunEw<L&d5K|~SW4%m@)ZILE|c37wYAR6)z*~likw$m
z?_<5rx0SFSy-n%7GJFAq#g*-<@;-oi1y_r-)e5c=(1e~9qi1ULouh_jmEj^iuPHd0
zy6l@nO(C-mY$3T@3>jXPhYWASGufxBk!4@zIIyMsERd+_{F3yi!Mo#e-WW;x!2@Z_
zIQUy1{Vy^vWE2jD+&q4Qw*iWDnwt-vaZNGkV#0%G{hNV<7wZzK%m2Yk6oqv#4_@Y0
z{Q&Kep*j>!e|hIn)JMk(e+;p;=Fn}yAyl%Ml^nV~(vYI>2*=rw-0-1Wv#$pw8anju
za1&D%+?lxxz`j*-=q?eIN!|zXYn5|&anT(>izq*Q1Xt|;2qaxPve?zP-W4r%vuT1h
zuiljlJLBvc9h`Q`x{6IDF2<$Wu9EV{Aj5)ExggNXny#pT5<AY_hYfGjrBL?~SwJl4
z)&sWY9FIN^F6-QSx<73QYfer$-A_kv-{e)){fx*~BklfN0lT5Kc0VhhdaCtxe_lX?
zihgcE_BmXZA;jtalH6wM#a{RGVrgx#C^k{-(sZ9N|CnlTpVqA}wp?MluQF_lO1fH3
zY8G50AVYKBC8ca5Z<cLMxE1#y-M8v>NLkIqjMIHvVFcIEwpq7JznU6<ifij;mGU0B
z={dnSHoNbSJ&%kL&3Lc8`#YuJfjrL5X$23KEr7@~=nuOf{fT!EnjfLfHIq}QGg)~v
z<k&V3Ro)9=n>n1zscCgNA{{7G2`9Q=F*krwtN5{b70R^WC)vLRuo8Z4a&ft2CHyvL
zF@SoB?tjVI1rS#O|C)UipkBf6^DYChI`~UA{a%w8Vt1B))u&kz<|G+)i`kvy=06Oi
zTg>i!*L)7B#|g5ZA!)1JDuv7)Xm+mY9uH7^HKP-gPWP;SIIh*t3CO_hGJZ_=ScvN1
z{2(56)cR?CiL5r>eMf*}RW~>~?R4K+$w?qnwfnB>uczp{tL~+phD;2sdu$8JK+8DP
zcYoMS18Bt`F}HxW;G^aV0IS6(%<}+Niyt$84`8+UaTA2H<LdC=P9}M9o}kiqBEi<l
zYGhTQ*f0$?+yS024F#Ncdf8Hu%&n05l$Xc~wM?oY%6#3+W)rkt$+ngM9N8gLi>LJU
zy6zXu*TE>$_iO&?`*pdWuwDH|iF80U@=d+rRq$e%9~xML`L+N%WB*281392<-;uf8
zqu{$a{6^A<g74?jl<@uoe!5?h6M*Z6&M1D_;;b{u`~&&q?h4h}57|LJ(4j*7LErH#
zq@8=o{|H+2EA}pZuv@x6Fo!gaU)5w6;0O{VhciKQ$mgxkE09{qd6CXS&3jpB1v*08
zm)gVZW0-vlbGm}(1bJRW>Rl-wQpmX<f2>7ZO(yOPI8juP+;oP_2a(|01oc#8y@r%H
zSnbn|lMLv<uI^cCcAabOwx_=2OW;)_?pc=Ifeanlp5-~c0BXcNE5c_1)QEc;!dC<6
z$o4d5Uy8j_y%S`e<vgb0qhMs0Q#B!T7-Ti)-2{j*A4r_VpDH#fWD+3DnIAHjgA~&X
z_g0%H0c2!*7mDw-ATFNL*y-4N*tlCgz9W9Vu7aN;LwnNOQ!t3T3hhbn(b9_mv?sk6
zlurS~ogk~L=G@{}F2nNp5h>~$O<N3Fn$~=Dhhc^^?P!ay%A-4d9}yniRZJOL%hA^G
z3)?+?9o=2BsTumJnHhAB?vZJ=T7|V0CcxDs=6!UZ{rqL&xr+B&Ty1fO#S1L%w7AOR
z0~S}Fi`HL{&V@`C8YEo|P#Mxip==ioQl*Pcy$>4dOSS({F-u$Uu*^uS$VYsWz4v{2
z_fwHt<^uxi6@1Wq5jm^TfPX>*LZUr<=880#6)dLro#__I{E(H5lLTc>k(=$LsMmAv
ztQMX}kY%ms@62xiwE9=`3ZPXBew?=!0IveSfPAT*nZDs>&8YA9UN+f%+2Vn1n@W%+
z^<`X896kgf^<7Zne}nac(qL1H?O3t7*ke0ZlFuS`M|*Ucyxu6%dX9d<&{{;=(JzWk
zS@0#<<Ei$KemO#$wBY&pk9J@wMa$prRo8U%217$rIq%GF18u>L6&(ONH;&#U)4|Gl
z*P_G7u~vKY@;QLG3b-YFJ%A4B(Oa|M2f!iy7OE?xXi*Xpwt^0c`tdDTp*caTCqeSp
zW266p+e3=@2FmubE&*Lg`KtGEY`?=Zc!2+Aq_%-_;@L-UH~$Hwjk`l=3+^-p&_&r&
z@*TZPPC#XDd;i>!bM)>|HL|K)&AUhPs<NF-jyen3L!n@D+6#fqUWi%+ytWa<U+gy!
z%8uS=29c;uxWDi!&=$Nm_7H$o@B@Y400=ulN)RKyl$c}eb$JvCL8eyIz~1xv?CY4#
zR4M)3yzDR`RP*6xK0iRtuiz0wqI2{k3po!$(o9YH$1=_`rC;;WKljnU^wGZ(S`0IO
ze3j{Iv0XgAM*NFYGn1Tkj;}L6Lx!mtCfH!yo#>jV<@hF99Lk*FLNG}4F9xAI8B%E6
zPw+=7s6XB+Kuhk{Q*8}GrZ~s<M7{`_Mz+7l+ZMf$uAn_{gX>xB@x5}lTA>2Y%j8>|
zm5m`V!@*yHYC>iRPicm<QT&W;#y=yc)*Rm#*Z}^zzUg7-_<niCr*39;+Bx2_uwT<b
zcUFHEv~@PeyUcMQt+QLTqM%2<KMrR@i6P;#iacgMjij3KzBA783;jhB>a}Yo=Ej}l
zC&Eu*VYQv^^LM&mPU6t&h)AZekm0w}Loz~{ROt_pi0@;63x8y|j~}XGlBGA0UO*!`
ze#l+IVO7xM2gm)O-w%fUV9XER;s>Yv;1WN$(hsingB$(e-G1;Ne(;|P3fP6!=E8dO
z{auc;m*~P}5z;uapC=z%^DF)`kzM;XQNkFR(G1EU8Jlz{PlT464y4KGg;t1v#UR1{
zLJeYn&6?9FVHw(L#;2Un$_0l|;(%tXDjkNO>hX3qlqCb+6k2OOnG(Ftx1fgB=lu{F
zI$1&+^ZpY+y>F-~y95WCxJuq^mI0{u4V{yH4!~+%zrMxd^7t+(yMFb84jFbZBsI%Y
zN8vtJ|62AcvI<#WnDb1gCrV}@K_&|;mmDNkfG%VMyo6Pt#i~NP<E&Q<DO90vUM=K^
z=w)zdshf2Tc;igcryD03kY`ZuYMM+4FFP}ALy2g9l`E=ucs_DMtKIUaIkrZb517z8
z*Dx%G956#0T$vaaZPHi~da)DQtSC=8w<roL+N!8z+xYB+6KZy2Y^NzhZyB%ww^nc@
zAwv&RCCxC)P^I=WCs4{$PUZ<@oR3s7D17~W2k3odb~9Y2yV*e^{_N)i$=n~OQ$@nN
zJqe{w@T!!AkjwNpNC>@70tXaaaxa{gtBuHc^G4*nsffHc6_Nkut;l~<5#iT~=#;h<
zX6fIotOJ6BS?>97kp-O)jn_Yp`yS`pNX`&wB-P83BrgIHhaiKGOg^yGIawqafru3Z
znc_ttYA5ZBK;)K`kEFBVEl{pBc8Mej3X<0JSjD@U9)K};No8g4m!wcSsiN#@051X&
zX)RqDJ(8lU8-4`ZAA!hSxcoPgB$60`C=f0@h7?913PcJgNiqUaps4U#NhV!fcn|1c
zIn*K%hyo>rk1=666BvOgP+IuBltk2_K(z4NQj&D6@b5uu4+{%Vg5TeoU^qq%YWA9R
z!-H#mbX&zViYZTfc_Kyk6ti<U{dp2H)>oyvo>^Q@jY+A@>d4=-VmE*kn-s6O%oCKk
zsN(t*y|Ut?DSA`I9Vz<UiicA4$$~(N9xJ3$w3^%U52fh4<7`T9M&^gJCs3{U)y$7%
zahN>z$AaC+$u*fzWZ#lv`B>H-$naR63|@>J@#^8sPnzdbY@aG2ZN+}7l7OFr+=sui
zMuko0-<sd0*k36lZP|a6oe5V!_OBzckRUACA@e6BL|8pS&TwFgNN4TIW3z=0y=(C*
z@Q2J6d0vV1;0BPzri84`fo6lSMLS`+rNjndi$1d(gd&73VhfETge^MQiUmj!!WQ)d
z9Z-a@MXOQn2}KB7#JTm9B7`j>dQK6-79HM-@AW7`*rKy=UN0&_*rLmUURH##MMqHX
z)hNOi8H6pm23fCZ7Qz-W>o<xJwutC=iV(JlBL66hjzQQWiga9s2wTKVV<Ey8F*j`C
z6)LFALWC`%+$swZwuoip79wmB%hp?nuthJ!5>{J?utj8UvJhd5$c(iE0v&^}MU>oT
zA;K0B?z8X?H-0mi4_Jt>Meo1>^&n0Z%OY%12}NCDF~SxRBW#h%M%bb%3`{(r5MhgG
z86HH~qG!-dge?;L$S#bwz#PP4^Ripb)u>2pKYO>@zJfgh^yWLeO#n8oonQ``ci~x1
zgA18^Kxzb{oHO}M%DfjTPvW;ytIN5z`~yHzb<VYGNN3U=e9y;nbJ^EYEVmS}vC4jH
zsSF0VZNgpge@ijmn@{B{<Aa4<mX&^3(lhDqH)qL?cP0KvUT$tNla$UAI+Jbg6FyDe
zme-YHIhdbnSMCv+VbrUWiwHz4CQE<tR<LU_A`smPAeuFK=bCQ=h%)oG=Kqo`3brl0
zY%Rq|p?pLj`XKnK>39DbM3|CoUb9>HCnSZ;|G-n(5rK#d3J`%P4e-_&Q#A(>h|)QT
zK$HfEK$HfEK$HfEK$HfEK$HfEKtx@uXha~QyHtP(L}@leAR?RH;c@8l5rODuA($d)
z`*h<Z1M&>YGee%4^0X0%@)3dPgDAJi!A~$B5r`V$ze|bo5rK&IV-X?{5xJU&2t;fF
zA`tx!r88NGQHNv?fGyZs(AsW9AWDTJ%0~nunuX>d0ug}@VnM0717&2~3ZlO0Q4rJV
zp@kT!h^56K#EinZ?k7+%WFE#-WHm=}&3kgJtVo{WDz1Vf`2sXNL8QQN9oH{-MhXS!
zB#eZGO~VsJA_6o#L8M54-Y!In1?U^mkrEN0-}a1@3edO@k*Kg~+?q&CfJPvSlnI-j
zKq8d_Gy+kiN`QV3G_pW|Mj(n*o9EGLJ*Y$$3eZqBk+`tMMTL=g5j$6-V3Fk1DX5Va
zXau52tpJTc6sZ%SC!NS*0UCiQvP8gg6|hu*Mj(pR3((IABg+J61fs}tsZ=8nMOFw{
ztpXYZXau52qk#3Avr_t_5r`tI1e~Ket7S+Lfrz8Y_)>PaDK=0Ps(i*9{gUExvnAIK
zcyWbD*U>Ll4eNjxSBZ2T@M6`l4r_6>l+lqaUMN6EvRE~&BU!9U)xj&S5w;?AcqO^w
zO~n{jmsXh1dCe)Uj6H>>YjaAgirx=e$GCKX;q2C7Ev*)y!&<sffDUVET!4;b=^_C-
zUZphx8ngwaN6Pk~(p(em3I55eJ=&W?o6y>$M+K-dq8H@Qs2G7LdOX+)jY|Zg=!Mzo
zxf4wY(76*mA;6aI6QEy?j`pWTC4<KxO2#ibl*6sBG-)I_lS&><C!Y*npGqD}Cr<<)
zOeIg+<XRK$4*V;UB?3|OSoK%YM~Ofb9jIo17qhD9a5cN4^hMQdi_+uOY=F{J)vOh-
z2SjIr+c07TPIT7a@i~9TPx;k$TKlSH&Pd}Jfhc-$@Q#$IOH`Bu>50D8FX~bOR)?1f
zusXclFZYVH+$)3Mfn0u`9lc7&QpH{^ELPGrlB4DueY;3v1fuA5!9S!L^$t~}HvIZ@
z1@8=2V#h2Ih@v<8d2UMc+#K8v9xZx{@@Ok=P4nCq97yrp?w4~%n&+<IZ7H6+rI}Xf
zJ^tR`n=Wu)@b6Lu?pLj9E8gqZ>I41(deATGp|q$+g26(s5AXB0@BNmiHXNM}Tmv47
zKomV&O>0w&d0RE@MCog*InWY;D0)LR2S?N2RZU$h{qAb&R3Z>X@2sZoH2po*)REE;
zS5p^Cf1sM()TL~1w9Q-^_FCHRb7s-K0_>Qd=W}M!eFD^(MfVF({}t^poP_GKqMaf@
zJx=t1uxSLM==qYP5s0D(L-YZ0)$}0&ixeCdwi*RTLTslxrf8RhBT~l{eM<%>u)6-}
zqZw3ula~3QNNZE@ApwX$#OiK@EOGFNKtz0>hrI|y(Z@^{&SqNlqf*p@#|2n7^@LwZ
z9}}P+Kl-Gw=@K9PxBy+^qo1hcxThizML%uMOV#vLA!%FF(?twNq!Eas&xCnpVIvSl
zKO?9S5s0`qBb)RFVF}n1iAcm<OgaJ)I|GZs;KX9)X#nY2tW1W*f^q@c{#b<o9pqT0
zfIRj6WqD<%J!w~zXPQ?%Y2{gA(x{eAWiTRX)a6>N!jwOcBw0@@kEgfemB*K)w&s<`
zx2EW-7TE*~f7Q-3y&%^|=lSRYAB}jfXo8eo5EfcHU!7^*gH-8!b(Y}`f<_>!4hg_}
zk+aDE0DkSEXJNFICGZd1;h1cZ<v{X1q)7J`$`c2w&m%=Po^eDVV)inY31x7E7G0mk
zI1O>8=+ljp{A-(M`>t3`LHfp~rpQMZ3oVVRSs|MNr5l7^MA2puA`o4QN@YI{u=rfL
z5M9npz*Q#zSC~bJK=d%EC?gO7RIc`MAp+6$fSK!XN_Y;0bk#;6T7(EhPcU;SG8t`X
zUM3<CeG_R~86pt<0U%`lj3<2$A`sQ?GV5@QAtO=SDyLkhp}!98HjVe;kIv`XujKNC
zVj~bOLIfhJQM9}W5s1<N+idP{L<@DDa(Iyu&#0R)Z}aM@n-poBeE3<MSHhbhQC3DB
zA`pEDd{IUqszU^#A-Q4^c}sfS8-YZgSsDp{+mp96Qb8IzV2k*ct?0nYUmDr+DI|%A
zrAK3F`T`$)%ts&h(F1Za)3R5~7ym_-OA&#n1p}H%X$(bVE6jw(G$N7c#tAY{$fbxt
z)Xx&+xZW$#Y|8~_Q+$X(#B8auJ`~-MqK%Kv_R%>)i&k=$jT&Cy$Y?IRD8hZG1t(=_
z?S;kiVwsEhBK;9Ctjx`tj^e{tGV`QoiT^hu5J|6A{3`8rR{UCMQPB!SAfhKwfCxk!
zZ3T!xlm>`Elm>`Elm>`EMBtn74O_DQfWF10Yx2aGLwI?~a6?x4(x`^!3Nk9a!$-IH
z=$$@#myd4s(Yu9~;rLBMhgnh%&&CKu4V}KNOv3@+R;J;60lLID92B4%#D*iX+1I6@
zp<8lvDQM^spl8yCqXKj**l>XWjX>0JT=#`y5Df{DrrUys6FF>}o=O_}vKeq@P}%w=
z9MP<T!7xqa6AF?d;3);e0zRu?M8I<jMg@FX!9@`c;R_1J40Zpaf^h*Ffv90Zz;`ug
zQh-JvYIuu)mo;ZbfJPu{m=o}d=A0Iw5r`Vj2zXU<&I<U6f=dMay@I!zEojbb3N8!r
zg8P@NX(|nu=ds%wf#`WqRF9YoA`tO*WVeU0)Dw4kc)K;B`zkMhg{e8+FZ3d?IU@~-
zK$Kl!SAzybAYu!gC?gOx;6pjue+JMRrvVX&i1L8eIt_?GL{x&=jpiW&5m8l?5r`TP
zfoLa0)@dFh5K-naMa_y%C_)4x4#1!yL?9v>vdw&;VgkL;CO;UabtwIi(0Vo3h<Y^j
zBXw&*XR;X#e<aGuN=G1SKm?+<Azf=i1R~0|XvmE)3lWHD8n=R6E7ROYAZkDaB8v1y
zAZkDaqA#SRAp#KrYNzV|#w+hdAZkDaqQ668$UKPWA~LRSKm?+2rPlyNAR@5MK?EXJ
zj|fB*7e|J4#zr7&Km?+HfE;OI10oO|0h0nmAW8#7AW8#7AR>#hAp+4ipaunqK=gDf
z2N8(U01=2-zp^0$5jE?(_-jA}q93Adaq#>f?Om)8L?C(yB{FxR0HY2`w-ABoXP{*e
z8`o4aJ!A?ny6Y+T2~&%A-V4wOv=}dIAgqiuND;!y5a~x5wFoO?P%f-_2rENWwn54v
ztV~8VIOCd$ure&zqzGYU{tcPUiV#+Y+oLu`2rEO*0~<sP!pi&-3#RGOOoWx;M=56%
zA*@U}j#AetLRgt)KsPHwSQ(1BOA*4#yaF)~C_-47W?a`lst93aeu6v+D{}-zR;|d|
zf}(NOuTM8la^4nEHzDy==gQYC#DA>X8t!71PA2y`Lm)-nLDlr?Y?mXw(OF~TJFO`%
znFfyx!`euC)3mloXjwm;btU0Xfl1`AD=j)L@@3PsZb9%~pjv0$w!q6E<Vd-0dyI+N
zIA`6~Ft5lPzsMxrYOQMzl36NUzfUTXZD5(%P-f1-kVs7%%Ee_{P*KDTU3E583JAku
zIJ&wM+py4FkSZD%2AdV%SZnU{vNqO*sTh^Iak&7Mx^ZQMz0`GS<0=_q`}KzKrW*6S
zCt*`<LHf>rQ=RbHj%`{JXGPMWvZe|{^OC+aRmz7#7F3l`7(WF33;u4RUfP1S2#!;S
ziPm^Gl_;P0)FL>}bM?%$ue0pDN&knE%{gTg(7!0~oTBuG|D0kUy(&GL=d6(}u<&oW
zK{j1VzcWprdtfQ2x}=|b{=Q{sgwoHZdA8<=Oc}|o2)ILA5<A#d8vYvE9x^ZDS@^ej
zg!w?ikMT$J5#KgsqH(K_ZNt7%*fye{Op2zqjTStMBB_uQEF$%7L%^NN6hOe8G(f<e
zG(f<eG(f<eG(f<eG(f-|0_o!R+_b8;=LxMt*u24f)oXI|#z@+5nm36JsNpnk(e@+Y
z&W`--wnes&JBqTXP#yCfRrx$!Xn`GzWlOA<wxhoAHq@aPBRiHA(kHAIRqR+^nNj22
zUhHU)!%DN}tj*$zxl6&itb713;7&`v`HR<tmI6a@+Ju%u^_miJrzIjlo6r&|rHZu)
zEyW>zVigzJEu{kL6+{JS<62?@nlz_OfHtnBTtJ)VR0uerpi)4Of+_(goFFxZseq^0
z(vHnRDm}Npwj+2L{g;3{wTDaTa<wP5T@}5^(8kwx=cOB8dtnhl+<SS4<#SE#iQp*^
zQf+Ora61Lzin8{i%nziJPZsk`YI(+U#Im)(ga8KIsU6AqA_|C;s~wH9L7OQUuNu@|
zlKCH?WY<>vR+;RnfIGF9D)s{I)Ly0-TE=ULwP!MFYdxW7b2(mG!NtYw%4XI`Wef)o
zfvu4(wym6t^&rJ+;dBm5mNl{!sqV7``gvvWJs`9<SBZiwcze+$kfugid#wQ7%GX|(
zuWwG|#%r$+elu1227l>y3b3VblJQ}{o!Z+nevJa!iQ8lJflA*|K$!@*Q+so89o9N+
z&@FzEw-)>yqhLk8TXMpUtX>1|)ZSZ2*BfW2?hkgSWIRxI473&aplBi$aEDw7xKq17
zz<Y$vQRruLf)8qa^M!m+JDb_&&1}{dNOEc)FXjsx47gMKWZ)$vYac$H$37_ic{!6P
z{RJQW#SpE>GeMR;m)NP*fIGDaxKn~s47gK^fIG55vHKhZ+!15;3X>1J8GKZ_5EQ<k
zjpriba4iDv90k(d0|M^wQ%Q>uaEDo3U{-krR@Wln4wn`!fPgzP7>W>Zhm3YZg@8NX
z#-K^SomvFkN!EL%5O9Z^D=Py5cbd75sSE_%p}Vu&Fa+GW4#mne4*_>%S}H=o9in<g
z2)IMES`h;75H-pDQ!N7S+yp7jnumZpY;&6;1l%For|A9I%VSwTpa=nXI0SaPhJZV?
z8a;{BBH#}92`7{j0e3i!uTX@5JFMMq-Vkty$Zp;caEIst<wU?8qDK`W;10d}6N(UU
zhj~vaLckrO=M*8}4$%vW5O9a+MMVg>!*;%`2myDPmqH7OUiI>p620c3bws~Wgn&Cl
z8gQo;0e6TTeV+ty5utr$rWT<e2<<B~fWmBFnE_nP+_)`^fIEct9hus%xRKj1HufEv
zS_ItTe)VR3Q>7LGcRq;RCoDw3otzp5+|hjv0`5>0{*OF9YY}kgaWEST5pd@jz_5h~
zxWip@nS}_r!*P#Wh=4nMF`&*u1l-{!YO#fQb%GlZ2HatVG)dWl>*B|xG=<qhOUEbs
za6xh;d<0N-&#8brOu=^<Fjr(&;*DD*2=9Lfu|ql~k6J|C;pR@R>1q*m=LqVO%|=T+
z&ZSQ1T?f+pwOzmU(f^X(XYImQDS42Vb5V2iE_}WD1U6?f*t_ucX7M$O@bzX^ZWQ6`
z&C)^LKJCKSo0p)R0fW<;FK-Mg9ZtU`*c$cGF?o})*0kOh{5%Sx&nS3%<eC(HNBAsg
z_~O=EvwsRo{CVrU!?!S1!JV1+0od#7*1JRyI*;tukGbJ`Xh+)G`lMSh&Qgj#t|&v%
zClui>o|UXa8G9GMdvOsZh$i>crnhi=>U{J;AAKlIw-r}&=yEgKO0#c;5Q*m67B#<s
zrmd3NV!=z01D1;HPo`KZ%^!R$Rl)noV%qz&Uj`waZtpMBYhY1tdw<gxkRy$3A1Edl
z3=&o(cb@Ht%(`*~S2X^})0Jny_Y4Z1A<s-FlOndEj98|P%-W8~tdv6?TG4x#WnKB#
zC96y;S&!zodNPAfkR_$bdv{kdUFlxYpKOiW_V$~XkRd(ZJ5Ws8f<c+v&G_sI)0A<Q
z>;cr@wr8_C8s4PWZX8k^?fbl5OL~?(L-I88%$8@4JagrlitBX5!FL3{lhxQbubMZi
z`2S)xQdzz{3*=cS&#*ir@+^{Pu{=xUSt?JSXmG%jXPG?9<yj$59!lU{<heke)$&{@
z&$!=s_9CuRa(@3@;d&DV>aHQa7jd0#MiH4=dzZM8l@5LsA+8gV7uRVo;yS&QVntjh
z0?UfHPOSKV7DQYpuDw%=5Z8%r2XUQb{J~}o)o1p55!b00mBqpMCT1Vh);8}&T&JU8
zQ^APql=gLd5!Z=GeZ*eGbs|#Fw-<4pSPXHU*o2EfN)x=ePJ0p8=~^U48P{nq;ySS@
zc3-t<FXB2q39NM@uG1fwrwDPKn1!o*CVmm5$W6s{I)c=_i0kw#<itV0Y1cL}J)E%@
zah(cqTu{k~>qKA?;yO`<WtxY$PDF7<i0f1h&U!_N>vVLDw?W#AxK1a4+BDBD?skw6
z*NKDFqj`wyM42ZPA+8hAh$6&w+6H8Y6LFoW*)y7lxK2Z;;fffNoV|$a#Bz7(V!Ib{
zow$E_z(T}zVy*`f*NF@Dqc#_DolZg06BZ(_)7t?V*NKJLMLTAhJdLhQW6|G8!Cu65
zV%N1@i0iaqEy`)T5Z9>@Xmy@K#C2j9rYuBUCsuLBLd10<yuw1nbt1gZLd11q*_$my
zTqj=L++`u+IuSl<A>ul57ygumi0j0%&sm7LPBfV>TZp($%zeQ^#C2l5FItGWPO=xY
z5OJM2ZC|z!ah=HAldl~_T&Jz*?+FVL*J&r9#C4+L5RC`*W<CyAOqGjX5!Z?4K%EOl
zTqoi?fLkb9;yN9{pS_6d^dwT_Ow*?q*J&@}I{gS)Is}O8L|_r(I<a>=f^ar0V&Ue!
z4+M;ZmT3XRbs|8^C_fBRT4Lim?L}NCp2#y<oTKTP!%xA?-U?>tIF+UGhrCo9*C}sZ
zVFF3m*5O&r=J560usqnuaB~pPkhvPE`JiwCve7&ZAd6bwrZ5Fs&?K++>cKQ`v-Hi2
z>y)>{{5VypCCbBvEwob##dY<}`_&T47Uk|mTqm|i-cin3m+G8mBCgY)Qk;nE#CISx
z2XUP^prTE)7jd1Ap{!~Xah+t>p$KuEn1wwP3yy)bqbfzidmqR!cczLWu9Jw@qKNCn
zERNh7{MCvP*NM@4Lgop1QlMrat`mun`6`kMzl(=zwFrsMdDZDH?Y<oaRJWw>YgzC|
zk%MhLiXOq!w>j9?owaKHe1nUF!?CNHZdSH~!&*d;+$#6NN~SA)qBO&!_ebO<UP<3y
zm8Lr$NneY0o>##UkzO4@T&MG}av-1to|(@f{X>w2uUNj<6M24P5tC$#cmAsU{{~tt
z?B^iD@}M-)Mfh%}&1?Y1x1~Xgtu>#2iD8=9+WD8tw<;{SOfK!z*3Q3NZB5y($oYor
zeOP+_+e%oEUfP|1W%xk|i!0kz<sSg3S8%mR(@VSauMxnwPC@icjsE;m!?MbKkzNZZ
zIGMVq{tRkD6eqBS4DSX)hMQ&_fAGv?pT34HyDdMsrTp_iqU}Q^V!dj0hw+gPBe9f1
z6V73TF`|dF2w{w<af=Yfh{ocDF*;J5j!1N*r2Hq4uFXACD%UQ01$HDVzzbv4b=X{k
z%A_Y<N5o%R(5=@NnsYq*CvbUTjJiH;2pI>Z>*?s%xYj7!Ga_5Zr0a79?1t9b^{jl%
zsmkv9ya0VYx$C(F+s@%C1R+k>m*kFEuS>h07sa+gfo!4-gXub9Dp8+u_i5c;7^AMM
z4BMi4SIha=f@=h1XwJK&lx^hAvWiO>qpn-^l1aiCb=_9DdvmH;w@bg88X5McS*5&3
z?$0EQQP=&kKOwfxh-SQ3ULc-Q@IW3-QNtK@Jy>=S<r&6^U6B67y9P}W%F6e+yONa*
z=wsVFRQV!+ZRT(;Ez#<7L^|MwG3t87JO@Ut@5iQ;7jp`JlD!1LO8B*D2Cx!-o5P?i
zIw`vTCFd+aT+94x_PYS;75qN$;{bMO{*ujU-Xvz(g)m0krZg+U*_({Iqv}E!qnCkn
zN7aQeM*jkYFh=ZWNZM*|1-_1iT+=lkp!Ot;QP-?~!micN3Gl)gb&Z9n{>|S9Gs75l
zot974o!WTU9RZG&gfZ&6vyw5d<QU#{S2aI2Qu^+y7eS)|`@rgjG1?DW#-YCJ!{!43
zTJcBBS3q0vQS%P~R*O%VKLJ=Re$14^a;+9WZkhn%>fb&?CV6n4pwcfO!S<Tfh!dpP
zFby`m4Lo5Q3OK*vWlKdew-7qeOJs#wCRGq+9Hfd!HbLu^Y+Lz4q=rlnWJq7H>w3ZP
z`c|gz*ZkA>>vHR3yZVh1>40kFn|g1q;KlH5@sz=QTY#Ohe<Sab98k9J$XxDG@ZB7K
zt!YHT_j74V8pf#WCE4(%!WebEY_Sbv)b#`Tr1%Q$U?JKa<^vttCEa3A3TfwFawTX{
zhS<CGfnE{?8kj>`A`(f?44ovt&g|uICa40*=PgGkkXp!jk<LP)%UP%r9ii<@?P2yY
z%)W&=UBPoZd7eY+H&Z;Mkn<h<u@><(nVv=}CyEM^`(u3X2?@S6zq=x9!MQXt{>amn
zrx(Vkd#PbeB2jX8eaRnD+Ja@-S0O`3wtIQbO#o`d-7CT$1yCdIZU{dO5LW?>*<Zr;
zquvR!&T>xokhzQ`RTDDr09nm>_b`YsA4vQl{#1bic^k-b=7-EDK#J*wd#cUP0HlJR
zh2ncHh>NH6!Wi`&HXFBkd`J9zT?J*BF4~ixo`Smpv?o1BOWzBiJ?Xii{Cxm%ygq^I
zsyVm#70j?aidcsFM$?WWRhrh^yTdR;n%3LmtFm{e?}OLgUB#54we+@z|GeGPSMTnU
zv1aItVT^kB$h2Cm!rBUN1DA#|>fL8Q)v{rXdiPsw!x;5;SZu=>^>$ip!x;4*uvo$v
zeIA{|7hTaH>Eb4KOu8tP?c!FXN*9}Y9yHXKYX6~PmbTzwnUPkJkN75g&-?PegCcP)
z^8o?%3O;E5fE>oWsm9-sXb=DO3uu`YET*@}=@!ZSkd=&+1Z6%<Znl%6Ue9eO!4HsS
zt>^E|VrWvUe>HC>XbXOvHw<8$;GZdwlaiUf;bzUKZ#hyWo9w=9l+uX{o_1tOeHllK
z!`A^weMd|DufZNI4UVVSE+{sSdu$h!<g<v~*!3=xcO*qxPwy8Dtwp5ueo<`7f-lJ)
zPqp9s<p^!kg6HE!Em%s?s?T`UHTB+LXlN?uo!OUyw&2E!s{nLv^xh=X!OD5pqIV$2
zTJ6otKLik00k?!d51>QZdu#R&0XU>V{4JztQ4$iSK_luHT7mDs3e5>x{Rl|@dTjJR
zaC=A*-$2=3))Sx$DPQ&eak$>_)9QbpM{1jcpLllf?PlE$uS0hTZF_g8*@+AdW7K<>
zZ1`;$qu#qihmd8%81>#Gc?@I3QD-6VR7^}x!3*^jGDa*~y8v~k!Wi}5XYNL#>gWE#
zr$Afq-q=e3R>2Pxx)>XTF`@)9;wM3fNAS9QKN5mW<qUDY{rc?BF`KDU`uFp)!-P=f
ztId4ALe783L(U7mA6cja!Ded8KbCQpDgBy{{<)9-rH}rV&|;YJW2?*^=!x|A*c$OK
z8pi0@I#ab1{gp6A$2ORa0BTUjHp$|EfIEj#Qkwrbl_B$p6xtjEw^UGntW|(kuv-st
z5=Q3Op2#1h0!HyX*0$)+=?dEO7Q3Fs9@{Hdi5kY}*m;?J^|P|^Trk7Ie-gEY%)MSS
zq>UWsux&;S*lNwOeSwQWNEoAI`{k7~31f7uW8s~eKJ6Uqto|)%>uip7nOlLh(cP*Q
z1wHb8ayT1G#2F7ytH@*KmjDvR=-7q+A_?`{H4I~P>_qrKv9M|wqho#kPWQ{f6I#7b
zBvV+(@Z0K$`H2o@Ql$mE<cuA}9~tgrhiaH)=?$c5&CW4|F=8PF2xF862xF862xF86
z2xF862xF862xF862xF862xF862xF862xF862xF862xF862xF862xCN0z%Hyd$LmdQ
zE3VgwjxURl#%02J@-hIw@-GwF3uAPlF)|L#rpD|?X3fC#fMaU)+D3-X)JZ%C4BcYn
z%NwNqo)j<Uky&n@K$`Ne5NE70k4%FYYqRDwN=yfdd4&H|gu#psXvV5i1`tlgJfbXV
zRg+n3V!J)T>wK%PS)X?<GIVB{jd>>k)K#0N>{9@7mAu*90HChgoRj??0K`1vV#h!f
zVR>vMMe~Qrd<IpA3_FO)h;(74a38CG;cG!wA?pisQp#LL$sv~H63xmb2Z?VbD;wY?
z+yYum5CN@OuUMTy%p;auh+q48n?cN@pMf{dBz?MZk^y-J9o&*&uVf5fuV##gC}SQO
z#5`h?G{%uZ%%fky$`SKOm=73(m`4mfQOdFgF^{-IwFohfjxbg85c7yAPZ44s5rq{Y
z<`I#`JTlF0jO~<|M+^}WG8>^)+~vSHtH1{G22`p2M9ibx;&{uVEF+QSzJz2MFwno|
z?p>@G;1y(K<ay|qL?uq}Vf>ZvelbDp8J}LZqu76V*ak?lqBGKwjO062wOBZ%Sd|kj
z2E89eorH0j?u(Elyqz8|R;}$R-fWlYKHd&SM@i(C`)cBRy3s3*wdhjNol;ZjVy638
z4<Pv|j}=qxQPA3`3YY1=iX1oME-om}4Hi@uMBJiKI0i$gb8>UHAqllCaoUTar48~Y
z({<a6UEr)mz^igG1chKFhlx7Df^%}W<Zc$2ZABP_{y~mO=j0Z<xw#4{DKFnwt_c$J
zi``&>pQAt%u5*2*3QOIk<t!e~l!isv44A*LW-4pu=3H_V+X?{Ni&;Sl64;(pLg_pX
z=soIBfUqW{#n$`UxxM_{ayW?jNjPhjI!nu`j0zH1BNkyCs)|vN><cWr)T<Jz*$vg`
z!VGkKTP~HUZDZTx^(b3~HZMvk#rCSkc0$z6Ue(6tskP3Zj|&*vBRe`vAkO4wrbl6^
zKcC&LM`Kfirj1=TuZ57r7B08LE}g>n^6cQ+RyO2gbf`cyu#q&0l^JfTpH|8$>1P(a
zsJ|V#x%s(yQg)3uu57ZEy;e*RO+^rYu{>$Q_VVl8Olo_5F)Ttm2&bj$n`ajrZB<gt
zwsDizldc3I!_&ryn=keOZ|PCjD$I6Zi@)8-!JBlclBfV51W_^b>c^L*(`IPv-wrNc
z7n}Vo9F-mHGd?2WpG}au)2B+SmR&NmzNyk`g~-s`dUnTNH^=rYfu**kdT)Ex?k~#v
z_aY%R$*rvO=o3KG8us~T1kwU!@H_rACUp1{wwE)hbEUJr+>^|ib6|c#9DO~1rL(4(
z9;&(Q&K9uv9oPS&PHVm*;J)T3(2R@Kv6bl1K&5HhobR@vA-b)3jxA<~OH7>OSLRRP
z_#y4ToYw!BoR-YXdBeQn^<##S-spF3|K+p_{7c#Yywgg%X6yInxh(6(;I;N}Wd@6Q
zEdNwxg42LsoCENKJ&*5)``|bG;SToA_&wegSPp|uE}pLY?*;jIy4d|X_;pvEo>?_8
zIWapu+P`XSw7;)^bhvMHEHQI-e73KD)ogNRc4pOJ-)x_djW+pYa(W^;)`-pgspRy`
z=p_E5kd>=OCkDpm29vAi`ld!#_05bo4kss))1w2vtT#`U0%M~Sb7y?49`2hS7+Hny
z@TSB=2H4(^?A7WMAxWo32a}V&M8(eJL^3fslt}gsjI11>B1R`>8^^{ru3tGqP5KaY
zJ~cTrdL}V@b}Bie*&dnUI35Y_2X)MiCBXqYd1h*IdRA%tU(e82-|XlqW?~Q~a6h8d
z=)|aHnwmzPC$+%D<m~9sXmVPSDqHEP<n+MQoR*y(9j83BVPI~0Iypf>5I!?7olH(7
zMkj_QHFtgj+SWHUp6DN)WD`($baG&J3?%yL%U~A<2Q9}8MTfvD1nNi*jxrC%X{l`V
zJ~^I9P7F++ow5y?>Kjg`l!iirMZo~meG|i0RZNF4Ha$5!p6bWcFbr^Pz66`JalK#e
z_;?DT)fdf;PbJ3s`jhMvJ3Bi$K044iHaRhj1auP7u16<^6JA50&hfq(tN1iPYX*}u
z1Bt=pkR7U-spP<D-xw4-Ghve^CYjjSkIul1qzhBilLN__nMsZvWI*6hvTt^7+V*e?
zV>9k4Xl813Vr+8Yq&7b>H>E9R(qPhp`8>*C2Ogc9of*)2m~=*SM@EN7=45!l0Akpq
zPxpDYHZeJvOm`YKH8VNUH#RzZ77}0)o<b9|DaA|=%uT@y*b$rVpG7~ky6Mw1$#EqI
zCda47lCy9JiZ2=+f)!I&Y${rKGMPk|ISxoTJvn{yEpy2^D`zm-KR29U-)({MxmmAE
z<Kx!kPYuq{sG-<7D7xR1JwARh=Cg{O8Mm5CO%>EdZ;_atoSGb)9A+oko-~3uA41;n
zkf;5#GdektI5*BA25}PeT&d*P5C{}k0;*F2OlSJ0r~7PG_+P1PNw@(qCrX*@zbH8{
zn-E(9o;f@7x-2a-og5mNoRi7TQh=JS&St7_y3cA~2L+}-E4B#cls`fX;WcejWmY5C
z$*gv=b<qGQ$z14Wx>;@@h{d541%gf?o^Mz#{?~Hz|4%J${`KGuYsLK40omS?0B7To
zFpc@E00zLW0{(%b1$hexXuCRqO05o{eX9ddYIOi@9RpV^Z=Hbj^y&aGe=(pteEo9a
zTLh5ptqw30Uk2*Z)qxz|qM!uouxkPqjPyD&e{}%Uyw$<O;*<fr)dBU`)d7j=)q(7<
zTOE8!zSRM#o->2>L)yI60eJrEfKK{X2b4}P2w+YF<oH(yz}K%1NP7M1fF%Fw061@T
zVD>yu4BdK-_dGH6ky=4eVE*c$D+qYfD+s`R9#w<Sor5Fg&PiK$4$`g{pyoMtU~6Zj
zWC21;yafnpX}51#({3LLezy-e-|Zv8bNeL4?L)YA`=HWpANeU~s|56w^26yx5PYdc
z5VUXUlN#*80a_Oh5UIHX`t=J3lIAZJK7>47I6%Og>%swA7Y-11;Q*Cd9YE{qz-(`I
zAnjirfW6fron;3yy*e;UR|in@R|h1#ZgohpKn&FC-wkth8*s3p(<KABsg0mB-anm~
z86C!67CRc6Z(?vXnZVmy<AXDaxtZj2Vqh%UH|-qiJ#@Hrf8x-QLkC(rb~$6ybF#8a
ziIXE2JNVp;CyW_*xV{1Iixb!bI>}Sm{5c&56D^%bI(D|gHcpKWBokA8vm>&dO^hWc
zhG$2d=_G18l^k?-?AmoO(b1VWxT9lN=l=Git?&^LH#w1@yBY7BqTfzV5A{I`J+XuT
zza=p>c^d7UnMEIF5;Lc9;F%c5*#jpXYIzm~l_QDG%fKjFlsNsCw7X&Rj&^pmCfYl8
z>^$7w)tcDR(b?f(la-itX6B|aJ!fVT>aLxcKD08?H+SZg^n7$;FnLDy$zC((X4r4&
zaVF6}IXMgF$qBTTdoyc7=>5d#0Fv3_fs>OsZw-x2o|Y+*7#-&p8$s`>PwZ6t=Ei0d
zBgwwO88jHaX4V-$$^Q&6(K0zX<_soI^^K`Tr+os=FENokGwTdu<D8s!MkZ%w6a8qA
zC=8WO15Rsm`o_i*{AhP>;^f5S>524QM&qXE24<bf>CxeYoUqVt^bBL1NF;QLN}S@P
zfCy(2GBBXf(&RAJ<xET`yfIC1=Bigtsk-}M`{C9EEvda@4@~=%oC`Q}o!PPe#Mszq
zV(oa!D%PZ^wJB;{idvtdHuyXvt2(rAM@!;J$HCT}`*yVN-_f$K)#>g$cpj=e)Or|J
zwyV`<IfJaZpH7ws32!+T#bdeRaLM>%6+4|Wdk!frB>5H&<n*j_5?+Z3(9qPW0SZ%<
zO=I}PS_b-{CI0V2r^XW)-##(fH(GH2^yJCpgflY&qnLxauh|HxXZo~a9X_!f>Gv$G
zgmVfi=a9?pkt53SLth*_!DPb;TYy&D4|VR_akzDtn)&#^Oy5uv1A5k(zqR7o-5ZPb
z<Bn`X6Fek9J%g}=xqjH;jP-l6o?uTqm>8U$oQ5@x&dxZAxd}LsLE#r=;eRMfI5O4t
zcXr8eKoRsYV&+4GiGkTO4kmA+Z*~@<y?J@0qqVDj=V2)@2(9%E!oX*p*0CY%3wE8I
z;8yCCOc(^^Pe?XQP%KKfUTDM6+=RH1^;p(0E)$rpTon>@c<c`pI*YX?IqrxNp4Zv3
zH_>q@ak%$DYoep|FvL#xV>EdtPYmG9G41T{+;wDMYvRyh=n_V@yYt}w)?Ie5=c_O=
zJT)dV6Np5}I{K!^&ceT9R`*Q|j-d&1tPm@hn}CCxLSfX?=fHi8Ik+ZK=Y<y7NjEck
zF?^pj%ao~(F?1DAckt#HC*c!@adaPa_V3?uAaP*Fp4P<C)`OkS)NB$S1Es~YPxOr^
zXQtpv(d=1quqRVW_q)Qeq5i~aG<k%%GId*a>^v`l_27Ubj%|E&cp67Z`j><V70VeK
zo0}O)OraSxL|qGEnz+dr8XZf@B%sN1OH3z%_Rdb9Mcc4A$>M-c;K0S1(htjJYHInw
z5efE@Xlviome}9Azw==48%7iMC;i^JV`p1y0;7dd+L_qj-f`rRb={-0IQ&CdgX*2_
z6q#}M@92>QVPE^9!-u%@g2qnuO^?!|&<sp+-o#))XgoM7%#89<Lll99baFbG7(&MA
z^jn;n=>dD2rkl$t{I^^jV(McCHyVinTvlPQV9;D+bS!kEf!ThVOP=+j3FvopQg_i}
z6jCyQ_76|+f(5={2us8y)TnnX)_o@@PFe4iUN^a>;U>#Du=Bu?#O|Gm*8MH8+yOS6
z(;(^4VPi%lFgs~Ow82xOTr@bVarJ@=5xM~Qcup309w03`<9N#%mQM$!Hpe@;A^JR+
zPS<{2XgOyRSOE4Pa)#hgVEedLWdA0dBON>Tx31j?qu|1tNZ|jL!JLDg;?JO(HXSak
zNDIt312{w^@c+xmUwAtz7*iDIYY3UdOq+HFN5vZqIy7Y5LSmlFt|K+2;JDYVh2^pP
z@bz$piJ`u+8QN%{DjJo-4*l+Rges)xp~gBAogMqyJ6gHD=hZ9c6P9XhiF6g^RzS>!
z_pa%w%quMLVULNC#DIIID8s<@R5pqJ9W_*d#&h=Dn>ha=6uT5&6<`}RHFB0)mdOF`
z<hb)xNwU-rQemQ~NleV4N$YK=lLK^aSkEUWAR&>!|K+15J~=_1se#*VU`uD`VXoX5
z)ZOjyf}CkGm{<!jUARra-G@}i<?s}ykFJGd$>F|%vygQrF>n@Q2QjnlGNHT2ei)qW
zQ#?<v=NIeluxT2dOkj6McMq??3t#TMCUv<u)COmeIIw>gyxsxWwCpDLweN2~oLINE
zrTwt@8s7NfK6?O~K|7|@RG{(c*|{nIb_Z^L#^Fr1e)o)yin!MV<~^sHv%h`MK`sE^
zf+n+QtncjP+^n3o=;b(v>?y}iFgO6{81swS+<v8(?K#*1yaTrEm|)lg`jwM%_CpiC
zs<}oT^4rwV5N%Ixu5Ep^08F5PvA$87B$gp`mpf;CKWG51YLFZAljAeItsADza=FJM
zg9|=b;pnV0wq|xHF%E}0tkV>yvc$+~>}S^UvOxVI-Gp~`!nu`qi}o;%=5+7haqv9x
z*J_Rvb~g$e#Zkd-yl74`gfI!7Ns@!{ff1ZNP!IO>xXr}XBYF1kPwd2b;&AK1L*BWh
zZO6XDbVyTBjV_|1e#~|(i(GCv0eBJ++ro$>WG2dVRacQ(4V>wjQ$ANCYZcTo%4NWt
zQYpJnncBXCM-ubaOdgO}xz1GCjj)?Iwk5E4l8w|@AM&T+8gMW>JHb6BE<oY&afgbw
z4mvZZu`-S%)Tdz8>7VMimZB>oEe9>(ihQ`W!<$Fga3t_v9Zq6v)@@!dn;NlM-zg8y
zrXNQS-QOn9BnNO-!hr-ElPPWl{kxw-@TX_|YPIXQG<z6_oIbcoE`(Sd_zUIJsP*6?
zUSAx9oshH<b*Pj&Jx=e0#UU{#2SuF<*!y4(3?$^*z`=Lh=Mn=r!f@L#AWM_XVj4UQ
z6^mWs4Vygi<B8c3teqp1V_3lYw5M;fA+SnYYyYlGEs8si9PV`JDsf+C`=x!gLp6s(
zB(A$LafT8@V|~Lj+^_MtM-PBK#D3Xct6$_c8fzTKs%!tDojW>o6UAo2AkIv|c}X{^
zOWD3+A(yLU2%Q_EtA=IEN~!C}<oG!Dj<S+D+)qIl_72G|e7b*z_vZG3u4FAXeu>$B
zoEWiS;YtdJe9Uq6#nyjfqlR7eG+Q*1Jd@~~8AxyHC#UJBxq8ZQCoth5fOp-qBRDyV
zhZ`8f#KSDX=qJ&>DP^^8$X<S+p`#Pn6<`Y`yI44(IqqH(LzB~q_RgIc-qUa!I6LA9
ziK03ocw6ws&0KfOo22bbjUP4d@Uu?GQ|14T!N?|^N*nFxOc<V?#8NON=RW#CI`cQ!
zPWOQ~Njof?C2D+Z{z)0TC(OU;ByL&Ya`CB(9F};nhfeJNZ~lqJ+i|X0E%QlCEFsz%
z?}OdJDR2+(T?=qM@E=I_baHu~f%oKY02=|>L!C;_@X8lEGQE^@#4&K0q0<<e;~kLR
z;)u)i?Xq;@S~q-FW}xiZ<+9H?jnhHuGFevx-;n^TfYq#jd4=&M`p-DHbbx6cYU@0R
zEg_HOoF%*34<2sE`i)gdwheSDJU4Pjp4h!(-#(r{Joh*|$t@QwY8DPsdIV*#y(6a+
zv#=u`p_`DTC$C|gym-+&%^kC>{ao*O(?J!;9t5hD1ru%z)9REn!=sUJiG~Tw+01%E
zo*HEjC9a<S9aknJvs}IVWP{9QAfZ!;?p3yW1G0{CsghDNxTG1w9Mg#j4W#a(=smH3
zoq=b;1f?^yTS)%@iZUwjH<(YdH*f7Ye6XFH0k3bkphV-u4LEGZjCTx^Gkn?`PYw*&
zjaxsr>|z$|{xD5tPsfq?&Zf=r%`4ZfTpe#5pO|c%nMo=!K7J;ZvR0{egSbgjvhNgg
zH?CLIw0d3BCMAca8Zj3d|F`zu1WxDb{r|riTe2rY82eIVH+E()cE+0B%rIjNGlN-d
zkwlb)HcLsH7Lk-np%N)nl#r4w^$~5_h4R17xn9@po)>+;kMHOI{eB;x@8{=!l>2@^
z@AE$I^S;h?uIoD2Iq!Q?(jyd!oJS_fig#j!w}}zM-S9}rnB1zNl+PTKBE=IXMTn=!
z9w#6xJ3XltwjyYK?o2lqk)siQ^tIBUO^#i@x0T#!glk4}ctmVwxLhQ$RdRZEGr60Q
z?ruaqM`T5aT}sH5shL6<q-kT*<+J#ZjI4->E)vmidUlSH4}R(u;Z`3qTh$L9r@Bm-
zKbCsEs~D9rHhpY%W<+-SM6sF?es(5JaMu+pk(8AbkuEV`#JI73f)*hLTh>eUdzFQZ
z-Yg&D3Y3NKtcZ~^`%SVFw4@k|2yeTk`Ept3>YZH;*5mKbre=CdT9QP7a?hy|GJ51n
zT3Tr+(MI@YwMri==ejRlvR1n)JR-seui<_IBTUpW!l|hAm}I3|)eBC{T_7Zm5dm{(
zQqGB599lruFhmPw{vvxWBroFA$U6I!fK5Dv7#U6a3=r3=^HR*tT*~93(-|W<;BkrG
zNNEaNHnTYAB}?$)N!%x|;6Ac*afr;kLL(eE!PNYz+=dI%Wjy*I#+fBaG`Iy?7plZL
z%c4$PhFH3&tN3k~iT2h*T(*lqT;^7$vGV6lCC<{shg9bbou-al<Sr5wqlqkt$Xh0s
zaqS1nOt^D9KWZ(E4#xl9Z<tSY(S@7GWqLd7+-69c4)e9%F*4`w-8XdfJ85Q(%}PkM
z41@NMj6@B;++UxUhP&3p4VUCZVv^qoB6dipB!N+q?a7#sA{!&jT;fC*5ndWpNV}w4
z5!GQqDQJVG=`tmgY{1wl63)1he9_fmcI0l)?fY<Rfx+|SBb=vmk}5iprp!~k-%wlW
zBS@FskUQ2HEmkOe%0^BSm+!=nY)~)*>4O2+`CVgri|>)#QJ;2kp?d45`CgS=lz=rc
ziSA|PP$ssL|ByJ?Wx8azxJjo@S!HVFXG~*V=;+h?8m(of$~@p=#GjBlF+t|=KIV5e
z+zHerNTfO4yTyw46MH0+$kc%3O!dYxW!1oMu@Ya9J~Hi+Nt-N&xa31fs4ZCvpVN|l
z%oOL~0x?Znr)0V*nJg_J5|rtjlnF`d4M(2A^^~9GV2&Id8|u|0?W5i9{2FpF(i=YO
zAST(n+|a1Q=h9u;J5I)qG(u0dr5c%RO!jL!7qc{>-R47Rmw86UDKn7aCtNPPk+J9Y
z!-@Uz%HZ<wep$-}M=q11IVufVgE5v{z>)Y7imP&Si48Z6bSW}P{<wvtiwYuROwyuV
z+xit4mmTsEq+C(MdzrpS*`R0lt4ygf@k#Yr2A`1)%`uG18mB7-mR%DWiZ}LwoYdnc
zoSLEZ!zIV;K4Yv}I9-g=G3--zSqWmY{Cp*tsFU1RKwO)|^L`z}En3L@KbX>sOOe|Z
zQ!05Po#tp5<tHL?N=V1*-HIujm>@B3Lb`mC^jWC6^qCFchkml5HbN$V&RQctaz@Q&
zgOa<1z3(&08~hv*ZZ}z}le`<UztBI4--b)p+--%^TM%<5Ge=n>^v*{|zcD}j6J@`k
zELS=k;8w@S2NK;>$%#Owa6TEKb2w;$D!7hVZ#`XBPo`-uYLZm2sH%_le2nG;hwxx3
z!#fMr9&d9bRK1wu$aJXzoBfE(an4Lu0wjg1IbP>xM5ElYxm$XHHSqCcoS0@cBsK`;
z2K>DRXRbl7D=A-17ireZ85S3Ux_N;QVZF(7qLbZ<l6iOO`QVTiSL$<~UNuB%#)%?j
zBqU#qHQmq>7oef26Q<AW$ZRJ)bF5f?zk((U3~@bU`}FDT7UO)zX{5_y1QYw>pDjXg
z$^GcQvIyMHuYw0$J`roBF1aiNQP$&wOOWDVC1oiwamWgv^Lnwp{fq+h?#|t1k*2dG
z?3^9AX#UMF`cPhUNX+P%;7qbdZ!-bN>zSBc93aaBp=o+Iz@5J6VwH$5BcZ-?1IQDr
zKMLk6Y>MZnpXO_2F7GQA&ml8m=Olb!tjQ!Zh!SKtX?v{}BWtT${zD*ZN?c-QmUBrW
z5;Qg&sb(>%;<DX>h3l7ebt-YTNCEfZ97~2<`gZe6XJRD<<-)j;k~VhcO16loqsSba
zogs_c8R7%HBat4EesJNmq%cPyhYlMpYi??5{p?yyxmb6f)SG<KH^_(|C(dk=^+$>h
zG(WcqU5IwEvgBrE?Z7)98LlFV#JKta`_#aPjc)emT!5xpU7pKDbLmN0u76#7oKV7b
zTp~%W!|bBYiz}66sb7+o`jdUNK6&l4Ji&m>FCF_YedgUaSOXFXP+VqT0t{)fMPvPX
z^l;Pji<fbei*XXwB&13YJ4@oiNH_O#>v-BGiIByH$t=)YGSRaRy<;r#-oI0<TZ)Wn
z7u%zKAMrk7@nq|#tOO+o#-%03jmj1mCuYs>=}3`9N9^h7R=;ltiE8?G?ik&-bF8dk
zbm$OpZU8B9N!&}To7R&Jh<*vr$yhYXHz#LE=+xe?>pG{@Ho8xYU%ZwW*@Y~bLHWs&
zz8kU{bht3h*_VkK;$eJWs*3v<K=R0%C%(8(N$ibGk3|dP#x+WmV0wfE^KM^=uT9qu
zLj>wwP3DNq6t}eLqcJyNWS*=VoH#aHh5(Y3q9tZbWYNd>;)qmTy!62xQt&>f>bx(a
z1!qEn6(THfDmlgHaU?JZrg_A~sz}wVilcPdf9*)Me9m@B_~y*J#J95GC9RV!II{dV
z+-tBCy4zXcV-NRPBAMXWmg$~f5q9R<<r!@)?V@@)CH9`xXTP20aLF54U-Bl<kAfU-
zD$d2KE+OpJeWZA1fK{bKw|;#(1v|FUn2R6N0xr~=?DM)hCzIX8st-PqH%2$sxJKww
zku#4j26OXVw-?UOB2ZsSoK)@BFr^FS_GQr*G7#~)dEBTZpK1~FD&`?;a==H8u4*@S
zB;6)SW9OCK-JlnPSsq<kaCveUKS}-};H^!dcT9BqxX#^sc9TR(T+D!&b~+tVt(WBm
zX^!?zwjZilzMFNAG@_MgS<Vej^Cydkb$X-AyRtD!=11n_`t`7tBXc_<4(W6RMY3X(
znd##@XBDBP!9dH;mt_W*>O?e7qPWaa-jz#=&n2$oe3a@IaxLPqupwOoyx^V53XY5N
z(vv27x8kFhaU&%<@O|L}Bi%P4O&{U+8_BAiTtgIFLV_eeNmXa>6J8?BObvBA#LD<{
zi_Oji+Y-7Ydxy)wafZl`As1W9cvs8mCXXR5+%Ks(f9-EUB8qXN-QKeaZu>^E#H?|d
zqf$odQd^wgdhRp*GA;C>zr?`_BV9h(J25|)orMa9;6AzLvS4nbx`wyX4RNDFckcvk
zyc;rpsn)I8I1vTMsT+{GY^*`2>o7PwEOv-dw}}^4lKl)y*QhSGJ9O)=I$nevx_l;^
z7o1o__rr+mO%jnMVu7t&Y=6H;DP%X;MJwQvmT0qI>~T8kERxf!xU4CnFJhCusC;VI
z4Y{C=kwNQM$g%TStgheBmKJwY`#!PqO^;Z&2pZj|t2i++Z8GNkd`65v2CR=iWYoI!
zL1-G-nV8Jb9(Sn`*`YBiB~>;>_@#}kqz1u-3|++V@wuPxjU0guCw{57U2ONBvbCUF
z^uXADlI+l1*ZnmRl#?Hp>3rwQXmguw#J>6*u*;6SxsEykw|b({>?PU%9{sxKSjZFw
z4(>>B`|tcZi4N4^F4~YBfLmVH6h@r)d43IE7CO|nn_$yq$4i>uy<leDz7Z{RlQYc|
zie>eokHiO(7|BSUAYJA5t-ulYac(azxM1VwBtB{6qqvO3acLuL$ANZ+B;wshKgnPv
zy9t3_OM<0K?0&y)-2ythab8G5KiRyOWHUB5)$*$iwz(;gmYE^z#u6{$nHjm;Q3;7M
z!<U8zcM@S&CDMSpuH{=Bx)3QUCi^Qg5+w8&fo98^q}$#wTw~SXnx}J_CQ?LOJ!AXF
z^!BlhTeEj6EuAe<!^L$&vrLG?|Mq)$6mLh|b`uv9J7*({Y9l2^cFQup-+d_5LpFp(
zck}rMEQ?}?g}6D9oC{%K7=zKf?(ozNS|Q<XO6E-+qunB=S}1m8E*f_`a6_zS@0bqJ
z{oI1M3nncyAQ>3R^2%nfU<@Y8Bmx<kGF(hJ(i^gmOLisc!)Go+cJolNM7HJDdvF;u
zG9SpfTkxNL%CN4>^<8{yFQ>H<YvE#8n*{rfPCi<>G-Qzzo$_fSCunQ2d)Mt37oT8m
zP$Msx2h3JNHV!x!5o%+7(nRgKkMq$F9oqNo+%B$z>}&4Xw|5`i&*jIYGcls9aeX`W
z>=Vf0Z+yzfrA|`ECdg_}aNgx6Y1l3!Hdz8wS*?;4EuXTHC__w?Yy<GmBgh73v5jtt
zKz1XUl^31<50?;~Ue|BvRnblTWO63HTg;J$e_lzP%W{pEq?xQ=xh)AY%W*5uuvp%F
zXZgDcHJ`RsFHRx~nQfUFm070S#%VK6SD)OT{O9A(99z!ana)+XU}{uSs*CS+e&ANu
ztv+$}(tR?oaamNCFYwvP;HFMl)gC*}X{&SPvg2IV3jEUx?xq6ilY)L)Y+^=&%M(Zh
zBGXn~k{jdO6pX2|(`CH4JcGC~x6eqXmZI!F1VfU-TR-%ei^wD_aH|0!p2c^wZ@(Mb
z(sF;gzmDjJZc_5f;a5w1tKIF(gNPF3`h>f`25dQnD<Ou#og`7KxL-HbkO{)bl#DdV
zzR7l8x8cXl9eo%SR4)mKy~DpahTP0Rr6H2HX9i^sA2JRl=j!)1Kxh4JxPUqsNvF!7
zlbh@z7TTFSOUeC>Qku1M=QnXelU;$q<q+%&^!MXe$T6)CPNm#&14|G1bdB4|;F^Lw
zvY(~(>D#$o*MV_;J9m$fK%kE=FXHu5K|GS3?$;RgNq|JPxjo`!M`UQ8$>l~Rm~~lt
zRW8W{c<UeBsp0mz`#oQ}){}D)UcwPK&BqQ!@9({9knL$cT_xQ=PBznfS-X9FzQiRS
z*Uhv<Lj9wA_Yl2z>rQTvxD}MiPJDiod+4f!-@fD`F!|CiTX|K}t-%`Q1XI0%5g9UP
zkQ|XqjmRnT>>{317IP<K(p3?h(vOh|xHuDMFJ-k{vZJnYO^#x=GEyEhmmLIRLy~-c
z*ecVBz4MfAu*hx-H9QxS(GtQST`XIDBt`9qgtK?DBRoSAif&RMr@Pszn?{JTU9ttm
zj~hKND@k|Q`UOF3a`9ETjBfvEdFnt^0y_ZZ2EDDu{v@oN2o3I%_hF)CSbgqF5*lvZ
z%;l1Nm@1Y>4Vx3VOUktC9_<5031j_QRJN@DI#K#4UX6j9&V}wy>?pfgun;H9axS>G
zoSfX4#93nBa|Br-4_W!aiCl}HRQWV%hFD9#w@jl+3muSi_QPJL$GX#89QwuZ)oiX9
z7q?#LGH|*OCezo@yhV0e+GM|L-S6O#X_%yuC4He!uvn(6kL<mcZSrmu1ZTjOKEe8~
zZLPD%j{G2%OX(vrPTzCPXj~>CBg-f4;#^jM5>Z%KbWhOuz6r>-B*X+5_!m<&mwPD4
z?e}m2mG1I#Jt89?>g`h6lGT(klyqraj8WRByL(muJFMMI$a3*+UKyNCUEB(E$!M4O
zI!>M?kY}Y_n$hJOL~;7{kfkNbn8)?#(8soIxvzbYEZ=*p66%-TSabe3W1_}@>Q!8A
z&i?yxBzE8LDUxh49+sNuc1vZXIfLr#yXm~`)0JTG|Jt)+aU!|Sz52<cUG4oeu|cDd
zSk^nTE02%)bdCg<_QM5N9v_ogw%@q=UwnKlRN2IM`^}II8vc7eRrWtI`4fjDPpSGu
zxvV~kRSUXcA5Z_gJ*f6S`y85|aa?)gOlQ^q$DTO5@`&00_9JGpt57D<{oSU*D^Ht+
zOf6&=(Uqsot~_ma<!Q73=BLeEnnix)!7uUIuG1?|orOGe|1bO0najppd9qAaimyCb
zcJaxwV2<p6`N=WK+i4Ex;%0fbXUHw5NdDIUT#U?QbL^VE@?2Q(xv;qOQL<0xf9&Zn
zna(1Gt2+v?2;<i*oWl6ckXN1-yYjTym8ZpIFV&T&#jZRprVE?;2s&1u^fv(h4?Qg=
zYdp5A!!P+=d35Z`qhnaOwVjYx9vze4Li*Q!bWGMh<>xQ_#;BZo#{QpufGpjMBy&n|
z<NANclVtKMLXviMxe%4L?6$e`P}x8EP?<fKW7~<YJU%85PydTQKIZqryFH6n9vZvy
z(3txT$^VBR8VlV$A-~fhJG(L)G?rb^|D{LC#98|%maaTK<{zp5H+XvNfA3kb;AT~Q
zmiNE^(J@&?^FLTFKlXX$2{Ktk`DdRX3)ukw&p$jS8{yp(nN#eSIj%fKcI7ED{}_RP
ze&9cUicFs^{%?8`>|gb{uaLdMmwf~*<RKCLYXtw?!&<V%#QhBj{4kOI#f5+SXSSRH
z`geLJ>&in||AG%;$u`<6&sX{1)4B3|mHRoaE6-QSlh;?Cue$Pl)&JD<RkA1N;;-5K
zm!Gf-bZpnId3eqCNyAeT()9;-BbwII4}t&q%aZaZA1}x&S0LA<VukV-SSWwC(7hZF
zeF6WMd1xK{S^mN#BYzx*KVi&YhPl7mdYM<4`-6U$d4;*Z$a$Gp82vG2D-sqcXdiRD
zhXo4dIJSeZKw<ls<2@`;B*(EGgawM)#~klrfnqt1?I0{r+&<=b4-1sYacl=+m-LQ)
z6BfAEisX0?3zW`rYzJWh`5W<<d4&baUWU5A5L)hUxchU|IbW{F^8|jpkdw-vq!*AY
zM4s|z=lrXd=NIJ}r8p4jd13eG>HNzi)fwDcS{~oWdmj8NrvdlJwcTr!{C~OjOz_`c
zs#o_4&n5cM+J7Gi_QV>0e5t<eLiw5~UkdNv`}aJTXjVZHkgMOySx;B@LnYrO<vXA}
zstukuQh4zYy^6xE*Ymt+aKzXhW(hAQ{jz&-#8+0Ad!Gm1A+=$2D1SzH3F&#0s2uv&
z8Tq%k=(+v5a;yJV;jX;Bto(ZU;I6xL|NSZw6xa>kq3Mc0?Hu?1s{HTjvGeWy8~Na_
zYcIR*W&Wb!<#Wb4wqS%7aT6|i0yGqbJf~-SvUC0(iTkw}|98_b{#uOvfPqwW$uGs^
z`0j7c`@3J6v2%mp)A{x*HJ7_?j_>~FykNcm@vq;6{_w6WcV~>a?49S}c6EOR`e_cT
z!ivgG<ftOY&1)6GqNWM@?)3DA5M=t{xYJb|&t~ZzuN_j}EVPxk@o7aIuVV-D&h^{)
z53Rp?NO`V5<SYNtd8Qg6(CT;m#t?2F9gnaBc@HgbZE;_l#d75@j-Ei!&N%LDP!$9O
zW@n8z!^O?R7{3}9G*9Bj>BZ3>2spd$Uaq{=>5l8Uf8=HLgjLn!A^H~Ne}Io7{#`=_
zX~Z9Poh+}L^(|P>&2SL662HzhKwk6pEm(dLI&cZ`_0ECG>nVK;mVcp<f>p%dtDxXD
z;)BtiH;5;~RqrR>JzT*T#J5B6r-}bsSHZ8u=TuP;27_wye*yhFj(8Rv?=8gt4A**Q
z5<gr~`2ynS(Jv1XuK*=|n)pijGqmotj`#+&|4riCuh#M(5sw5vM7()5Eq{{ugShVR
z#GU_guk*zJ0l5`$hCyB?&oU@il6X5PemL<D5dhps{6P$$ro_KM`S!#g!Qksj{CSMi
zA;jy#*o-HB0`*KMJ`CgHe&SaCapJ2GfUP0^74B;z@twHtcH%`Et9(Bv{tH6$Q^c*F
z--+*nepbMBtiRTP*C8GNZ%O=7jMFZ}UqFaFfcQe#hmpk3VSHr~Ukdwn8}Xs?N7mhI
zA@Mt4mzEP>1^c<0_+Q`~h<DQJ1N(^Yfc_jO9tnN^k$6G0=K}F}YU>4xpgxoTO!q-v
z<%w6RqWnhU%P_865dW&GmhVFR#T%3lB>o=sXB6?-;1h{Y!-Qit@okX91H{8HPFE2B
z0`;sTejfIG3-OnVX!}1R9t$}fBmN-9^^e3GS}+1TXY#KSq4gIf{wBt0MdFLl{u_ut
zj`B^2zXd&SM|>56sd(b=VoI4td<gu=6ykNECv%9WVBD=Hej5U!t;{j5cN4!Fe(E2@
z*C3esiTLf%^S_91vhjfHoBY3oT`fvH5%MWVyfON>2JzCUry=o3=wU4J!r|KQgNeU{
z_Gb_uj(Fx4;`wpixx_2N4=y5JyMbQ!3F4*E&gY0v#dS9je-i!mF7X4^wf?=tm*Bp>
zApRQq=`Z3#pwGo&cdfrVz^_ywUKT;_4a6&>-<uL&1pSO5o*(gBZ{p9m2FNRpco&S9
zRN||vY5B>-Q_(N8iT_n!%il+Q2>jZk#1FwwJx9Dg+OvW9YK+qlh}Xq^eN4PR<nt-<
zv`X5}Bg8jD55FRQ5dHoQ@gvZmABkhQ2hI>rN8FwlcF6SMd&uV+;`I=>R3bhoT-#rl
zxWyp@h~JFyl0>{@F|8+qcm>$!>BM(c)$;R*AAp@%N<3GjmVb))$B2twBK|e>=QZMW
zYid335uaZ}`2pg&(O+K?zY6>(;`uOcFA%plyAb@3_16m+UuB3Fg+HxM{2cnRA#s~b
zM-fkl9qUfK0Q|)u;@LG-4#~uqAa1dFn6-apxR#$m<*Pyt^NDXjzduC$Ya}?HA$|k&
z>Sf|Tq5Kx&ol$-_@uL{OpA-KM{dAJ}O7P!^_kw)FoB-rya)^L@iV;7E`z=qrSV=v<
zHt`M^*G-6DgE+7~@jcM<Uc^6yy&XpUJNSh$#BW2KJc)Q-_`BPQuYi5Km-vBNdS8za
zp9}l^I&m9!JBW9I-tH%E^O57kn?nAliSNEq+w&*!x6r=@G0xoA?vmv(E=m)(aaWc2
z4%Abh_z3h%YvMmapSlrGhu#h#UIg+?BEAoPEra-3*u&|>ZT>co_+}MPU@7t8@M}*I
z&#bN|tRp@T<u?=m67tza-0tf*@kq$+H1TDKbN(d$6nG`*qxIvRn7`B^z76teLHsq8
z??iky<P-Nde8S)GyZ?sUxUqIx{U1~L1<=<c#BYOsenb30`2F9B=ZAa>!+zLxZ$<o5
zmbl5e262;fBjRgOe>Cw8-~));bu)<Db*B@z>&_!?*Ii27uDgS{)xV#()&CvwMCij=
z;?`dkFb_6)8gEQI26k*9@sBZHMiRGrrV(G3PZe=4bI5ryal5ZI#7+JiiJN@36SsQy
z5jXjNLEPm32XU)EAN1GcX7$%1J_q@_#>79bta9j1{2=;iAo1KcYWeZRpRcWa8u4$@
z?{^ZnakPl|O7zPU#E)X0wU&5w*zMPemqL8IllYQc+Rjgi_lJDGB>t)sth|0CJ|5To
zi+FLw8`r`ASihueHGyixt-l%&H+^VB{5aa*jra?we<1Oy=&zB)XCn^DByRe4EAe#^
zdVw{>??ZoWByQtkJ8_FQ_7Ojc`Pdi4$3p%;5PuPI`+4H$&>vSJE;ISBK>t=F4zUFq
z5V!kkLp-yNp3$9nYw$aWN5g+SK>QTO*W<)zAr60@_%Jkd6Y*N%`o&J-cHRBN>p{-P
zi8n<&p9}WY<YwgyGl$(MLwqCZsYbj!<X@k-ZDDCeyfW-vXW|c{-}@1tTV3UlKs*=x
zcpC98XwPKgy`fLH6JG<l-Anu#jQ3ZG7r=OVoA~?Chi{0FL!Rmk@j;kJTi)IJ<r%cI
z80HzqH-VQTeh}mIdg9+g&XtL`gnrZ{UK6|y@#=`H8x#K?_Z3Y%tiJYFcjEJIP(G0O
z2J~+d@n@lj<C()wPX8M|pZHt2ua}5FiE;fA@q@54-xGhdrndha@jny?ieR2<{nZWS
zt|xBuqe$ZWP`*9!J{T9hh;M;@4kLaH_cez2I^>ro5^oPZoJG6==Ee6C4@dpWi5JFv
zZ6k5p;P5W-Gw@S;iLVG(f&N6i3F3smh&RXhEqJY-XY#i^LMh_k!M|4~{sZhr9pcv_
zFVUR%P0+&*#8)=Zc1$AP75Don@feKL=ZOD|dB<zSN2C62#D9ey_=xy7uvdqOkAmDz
z5&sM0<#*z5K|Xom$4t&YLmw&<Ux4{+P39_|Kz-uP(az??kHF5fBfcHuu^aK?(A$2*
z54i@*YZ&p_u*=EBw^h>e<B0F8r+hN;n;R;hNqjx}YXR{_u;&jEUxf0{5Z{P)zD#@>
z;*BlD=OaGfO&mDzIq~mszbA=rLB9PQ@eg3Ha^ZW^hk>x?*AZWWaa5J~J(!o(BW~-;
zEs3{6J)MXr!e8_y-U;R7iC4w_rV<|yJ2{*92hj8Ti1);JvHb-mhh6B$=cs&b_{R;z
zt6;pmOS~J}xtI9skpD5_xe$kZPy86<bB=fm*qH(t-`4&b(6?)eKL$OhOnhct)&IK0
zH==w?;xEDebS9n-dw3J^^SIv;#2<lu7)N{!<UEadUC47T@iXYJ#l*jd-LQFv$)^P5
z_5zjfg81PL;``wr-y>cf<M#mZ<2e3`IK&h9iTI30D*p?_o99wq2m{~RUmyBbhInbj
zd)0~OM>~^=kHmdt5-$WhFrD}((5t(NTi#<EahpdUBX0BPABfvL_fO()!_Hid@ojRb
zjQ%Q1{5Oo3>cmguxB>A|h)-G*e-U!-M0`5rlSsS^>`XTC1L4|_Gl_qWIPeML`x|Td
z7m5FZaj}*7RLJ2t@w|waek1-Q#$z7L!%Uv7pr9p)N5k&aCvNq$CSDBk?@GKP^4bH4
z-;U!X;#(W495RTXf*wvMULF2@9`OvsCrgR<fE{~^cwBA0?mFTJp_lIvKM%X~KJk0d
zUweqxfL}X6yb1dKF!73L&zHofqx?6-tHX~JM*my?=B}alRfhOB=ud6pTVa19iBCuU
zZHYe)yV`^J3fQ;7#BKjy3h_N?=PkrPhaTTWd=vWj5#qaGH&zkPgZOhj@hBBfU@P%0
znE&o3-Y8s8I7s{&^ven2wO}`XCT{!2E)f3%{dzU*g!N-j*rn3MOF-YM5Puf)m%7A%
zhyQIv{2=^(f8t$XC#Mh}4}G3Z{1)`%eZ+0Q(4)j{zt9@u??7%_iLZeCKO%k_@;^j;
za31Zilf>IYp67{=hum`G-Q?c^ezO4aF0emEh;PiN*DXo>4fJ<e;)T$U;lwjxhno<$
z_IDwE0eU`=_zuJw$;9JfpR<WiLHlPCF9$zz5Al02k9(B(0Pr=$8{Vk$*+l#{=+#c*
zD~fCR1H=!3pCCR5@!_w;2SEN|STD8ywRPp<#LFUoQIYr%_=O1KBXHb;_$|=G0mPf4
zox_OthkZ^Y{w>OnCSDeLJdXGau-g-f@2;)#oJIV1)blv;d9V+*f6C-`9^-uzm9GIi
zvx9gq=+A!Q3t`Vs5igGT>UZLH-Mry?AJ(3xup1?a+kI6eek<aN8;K8q-ZUfr8RXfK
zcw6XsU*h>-KNE-#wsA*%2<*&U;_>iD4-!vCJx>td4gdQ*@d>a48;L&yxxGug1N8i3
z;(6egj}jkPH{f4kh>xsamZBev5pM)NEKj@->_Bbe_IyE8;zi;2+Yw)jdU_JC2R}QM
zcmnL_XyQM@&QB!X5%JF~;zv{rfqRIbLcc60z8-P!v&2_GA6_AT26k^Nant7yiJLwj
zB5wNp3-Pzm@3|1yTR$ekE)^mE7W%y$ar65%iJQM~OuQT9)0X%TwN#+7#M5C<h7iw<
zdCh3zR{uoeriZhLTYhyp@jKzKR}s$#Ilf9f!3j`a+lcpueb__180_j1;w_<{-x42%
z_~#GegP<q*pr_W4^>S-_t|49)=if*?7JAr&`1t%<&tT$<5nqiW-Wv5xAU+HA%q6}Q
za(j%pJ%6-@xb64bNZj@}>>=J6e&;*l<6+PLByQ{Cg<)4ro_E8p+C0yA73gO}Dqj%y
z+n2cQBTpc1_BxyR5!8Pt@htTFBH|tMXn#FH{CecK&0bpjtzX}z@(;is?j`;t_%Y&-
z!hfG39uB*a2lBS-Hi!Q$OZ@F{ZGR2oM=|ai5#NRK!-yBFt@Vr{ULEb3O#ETQ2`>=0
z=i{~$w|$v=iLZzLA0<8ocJEu_{qkr#{~&Jp{XFp7CO3;SYY-n_SnG)-Zt-w5@jPfx
zFXHWB_u`1(5C4@$+{Wo`#IJ&VSV(*z<~z%Yf1XR*znXY{#6LD)G&xkn{9-SaUxxAg
z1@Q{#m(#@W$g9`=i}+5&!-Zg{?YajMpO+>60qUtqyd>mc>$+CYs~Eq%sr+AvKjVq7
zKs=UCd=KiMN<0DjFqil+jL#*+U#+Ebc#8OZ*o~Kn&%-=o3-QL#lMjg>4cGb)6VFEf
zeoOp%=*d~)r%+FUnp&U9vs7(8E=4@5sPd}B55f*KAbuQiV-)cv@FP8lFGM{<i2sUy
z98LU3==mJtYs0jii-<o0yZ0pVPoQrv5x3`gwh}jgu!neEwC5P{>ClJM#EYPREe~Px
zpNzP|_D37H{T1a=pK-GfHxeI+>$M<08v4+Mc>jDVw}HfO#CRD++~!jgiPwjoyhD5!
z;^c3MR|?nb{z1Gi;?jK3N4wtv@GsX9p9s5Ofp{B?i>kzJ{kt~te_%Y;BYrRZY$Wjw
zsJ}Py7|3%N@ig4;XyRv~4-<*cfj-P4{uJc=IPpIr2YYU^porIrY(4aU1C{T9`Zp5~
zgFf4H(pFC~+}Hb5{vnLtJ;b*l-abJ5A^7XV#M5)DK72`hE%fIU@mR!5r-`?P{rQb}
zqE;U`PrMuCpZf+aP*C2S+)@hY@m0i2BR^J-cm?>iO2pIAo*KlvKyLQ@kX`rwYxKGe
zsl3^dX2jRRzPBO%2I7zy;-5m!U5Wny``L^5wUAGL;<I6Ah7#Y2;}OK~M|_Y%{3DF7
zvBZBsJF|&jfShk89tXQIgLrEvSb5DMZu>UwCO!%JaUbzI(Ep{x?Rk$!h>u18K1qBh
z+OvxILG;%P#3K=htS8<F{`7U?k7L|zC7ueqv4i-RkpFJtwtsXV@y%$@LE@D#PLC0v
zj`_~l#O?WzbHw9uU%3#U+PLV1>*gnJ@n~V<b&yZHhWIt8zYOtLFiyjXZw0SId<@#%
zlK55V->$^hLH`F5KZWt0%=~KA+ic>!6bEJ!uLS*hocR5icfU;B;?#}Ax5J*iMLfBX
zUie+&DX<T_h!02n|2c8XGoK><JjU-C;*-#xeCRjR2a{Vh;xEH5v?YEHey1mKd%k5D
z@kh|_(}*WwTw6Zg+A|jNUqt2mLQj?vACLAtPJ9RAp_RmoBVK)#_;bazU)~{Z`xW*Q
z?+?5B1@S2Jr^J(R-M@$rKzvvT<ILnx1#w7O;wuq{)FfUT^XN$8-$D=C6Sv>D=}p}B
z^TZRk_$r;a#nsb@TRwIk@mA=^hlme@{y$565bpOi;@R-CCyB=*{yf9n^dEX>a?Xu%
z*Aj1mxTPxbWAF<NiGPN8rY-R_<N<mSZvcN0PrNGXH@|1?ECaiD3zgps`*1h$+t8k6
z#1})aRuPXuJg|ZIpP29LAl?M_^8j(P&nJkRp8Q692jYRe@Nag%*6;DeSGu55UL%QL
zlV5on@i5%)&BV<P+(|qGdbpgp?cZ8WJQn@(9`Qe+hecq|?7mjRAGIOg3VPm+cqQoV
zK;o9~8cBRxRh2^)@vAXjW)OeeHB4Ufi7%<Gd>Qe6(359~&w@SNM*Lp%i#=y=au@`E
zeT2&IfuH@BczevJ&Jte-ITt{?tp3`tvo(mXKz!Ah_+xszfp)|X!G8@PZuN{Oeh~V$
zfOreE^C9AMit2@*CcYDX;Z5Qr(VmZp7ehUt5I+a`A0qx?F}?0_;$`8#Y<^(!+<<w?
z)fgYfA1$KwlqNn2dRT>cH+Q1E>Jsl#NO=q5hu|+d5}$RImLE;r)}JO2xBS8?;$tgo
zJ+Bh~vbgeX#BKd<5AibaBS(lY#(4jh_-F9fe-O8J=EL_U=WlCkd#)iq1pO6G{9ClA
z5%HfP&uHSqwE92~;<kU_cH*;8|2@PXgkC*Nd@jcCO5%6JKfX--HTcK3h=;+>en31D
z`eSl6xvfC_bCSxNKl+_`l=&n0;b1-CDxi|YAHle;M7%rfKm_sU;jfz!xBZ1Zh`$cG
z4I*y&)^Ws_<9??RABXXK7x4`iKNDXJzrTif6v}TR{tW!fPU0(}ZwH8f3A^zN@qVyx
z_IpJp|2~N4i$rQa82=dZxt{pT(34uko1*=Z#1}(8?TF7Ptk>&Bygu4Lnz-rJMB<+#
zo}5KI1ODh9;_qQxEGK>r_q&RCS?K4h!~@XJ_lf6&-T0LF@32=Vh@ZYj<?t(Un}_B`
zKxqA9>x@N-Z-;(fPu%7sZHd2!anz6a+vvx1;wJx_iJKk1gZR~`e;M%>xZhWZZ-$@U
zO5FBud`SFS*s;UJZ%2Ic4RNdg4Dqj_pLv_+)c?B?CzK!_jqzBK_%)^V{2Phi13%b|
z_z2X~fp|K`V;|xRs%rfS#Al%XvBb@<O(SmWs*8z#iTT5;#AjiAy+hodclv|)o#^+x
z&2q}~eaNQ_@kQZUt}5{+Xit6O{c*poiNApH+m(1RjH>~}AIE(q5l@Dk?<QUz_NrL(
zocEOizgCO5t?x$?w|d$Uw{h2#xa|`gO8g$Plf*6Fm`L27mzzbr*mZh8_YgNdTuyv3
z?A{vUZ(=_6265Y$`$&tNa<ktze4BU%;*I^pAFi$Ee@?tqUgcj9FA4daByQ`DzY)LR
z8CZFRwbXaBw|8JX79(C1_O?9npThP0+Qf&0HzB^Qj+W0RJ_mBXi+ExQEx&}g+4(1l
zn|)qKyddK6&BU#q4~YK&zxEmNerW#*;`?CFe<6Mk{7dy#dLJfddp@%vacfT$aob<o
zow)hILBt1QTqhIH1v_&q@h9P5?k1kAjJEq>;tycn^c?ZWFb{d1cr)np2gLV7udZsH
zQ$E+=x}}JlU9Cdg{ANAkwtue`aq~xAh?{@uPu%>-4&wbWj`kCO5dQ8s@oA8Mvo<;J
z_bl|h1M%&cclRa!3hY=saqGu4;<upu&BRB;j?E!%`g1>Vv#XC0k3s%w4e_rK2W}+(
zBl>qY@sm|lE}s*(xaA~qlmBnTZ$|xLQ90#Y9r{^}cx&+T#FOFQYZGsc`QB>c3$73N
z*9PKm!>+zd{2kQ4m-yY`0slHp{1MohdeQp5*^?Qt|E-8Gt*GU?5H~y1pLhX`$34W4
zW4wP!{430lP7}Z88olm$;?1Fl1={9pe-Fe<C5eB4@e)qFV_7{vg1E))eTm!e-p(N2
z5b~K%+~o5z@iGncx?70bbDq12TYDng<-FgskaIiYmjCHVyid5EpF;c~;`y1xk0E}0
zmUtn=4@ZdK2|0X2d<ycUzY{Nwe$UfB=Y7?Io)jluse+cPK>T18<u?#-0DWjm{DaC`
zK8AP##$9jXvtfVYh)=Dg^`sJCfPR@w{21)yY~r<`=l2o67WF?$d@cIrIpVv+v^^V$
z*UY1QJMlBH8($ND4D-QUF?ycahqz*TT!gsU=bFTSfSrjZ{vhNZOT1=zt$z^lGO&}$
z#LbUq5jVd%gSh$4`NVBM+(X0<;eMYXZgwELLr(crE~m%ciO0jv3?hC2dX+|eHS{o(
zcr3=zWa9SwYtxB0%d72~P5dK_izkSiKCB~N4dZ$X@z@)*{tt;;9Ces@OZd}oiSL8l
z&JsUVUF)yiQQu7u*F%3A6HkF(=uiAL__ZYPTvDBz$|9@^q*M71F<zDuKLvewn(Bf1
z46LQ{gJ9p@A)bKy`Z%PX+Ioxr-_NOhame{pNO{-(QaI;lDt{a1DOYvU0w%Xi^kXS-
zCkHge7pzF-e?+4qLdqAwHQiezmEQ)t(T#Ye{Cd*Bkb2;f{TIWj{41CrjV2xoea;|0
z1@f65Qa?<guYXBMd1sPdL;o%h;U$Fk>f(zBo*-`dh^L9agn9d_5bi`@H=ow?VhDHj
zHyxz>F!3gXm7gNsJw^Es!~<=V|4DpPALY3_>$~;)>?l1hMm!JvaarPD;kYL8;-j^m
z2;$-Wl(!(h4DE>`es6azKY;kWo0KOK59_HsgZPvr<r9f-8mRns;=_h3|B3h)kY@n>
zZ*ptdU(4quULNf%PJA@#DNj6pnATH^csb1T8x#Kl?T;oN*;ec6LwrTF@;Ks?pjTsv
z7s7QX6aTG=)^iK-2O+n)#0Q}KBI4W8FOL)d8v441_|Z7M?gruk^wT@Ue{H7a_Yfb@
zLiu6h<A*B$nfOAC-&|ew`-1Z3#_9Wzb1C9hzAEugd+7P~h~E&eycO|qT(=AH^wC;=
z81d1F&r*q7J(GzShJG$5{x#(MEb+Qgdfiuuw@FmKkN9^O?_Uw`2mUkhT^R4Vx@mnT
z=Wl!IaZ%!@Q<Rq{o)V?}2I7B=Qr?XCX5@)F5`P7H)sOf|*yj<%TVfoIC!Q6l*PTZ^
z1A6!%@r@W4&k#2|`wH<w30nU);y*?y-%ES|?8b581)<MB5wC*#%7y;1et8zxEk-;V
zdRUS8dH9h!#9xKoZbiJ>NNs;N;^kl;1`{t2JsC~B3F@CrympM%e+Ti`VJDXm{~Y$=
z8RFxIXg%wRe*$~>4)MJ4T7EzAkI>F9i06iX{DJtJ2u#ltPelJ-1$$%twFBd&4spvP
z#}HqOdV3M?4nH-Dc!3UjUs=T8!~Nb$yaepqJmS5fC-)FPGeYZsnD|8W%Sz(6L!VzJ
z-UIsc5%F%YhlhxtMf-mtzP_)vClIUeCg*Hiw-E7R@PpS8pPQ`bS0i2*?W{}uBV4y7
z@sH78or&jxd~PCs826P({08{_TZumozi=P%+nZ|pA0^%w^Nr_-Pl8|GK>Ro8=exw`
z!N2S!UJB#%81dVCYkR&YehPN%9Pw4?mjW1n){n!`FV_-Z3_DYqcq_EOF7Z^frzP=Y
z7^ktsACA)Y_anX@^$#Zgcz-RQK)epdQ8MvLu-j?G3q!v%iT8#7nnL_}*rhqdYvFz$
zAii+4w(|+%OEK<VAa3!)XT%SpUrrEDhyD45_&^-zLcdx64uxJ7AwFV^wzC}Z5@=^F
z;)S4Bk;FTpoh^uuhyCnM{6mb>LBu=7YkQK3$AV`OpM>!{gLoXq>3rgmh&LW0J`LmR
z8RA1BpO=YSK5h%~*|1}~i4TYW{hauVkk3it3!%5a5&s(f5(d4q{#^t)6eE5H@mqP~
zrC>j66TcmL)r5FB%C{$O`LbTbqoDu8h!1X~{X2$uY4AzJ?}L2I&e{Dofqd?z@@1f(
zj}UL&MX$S>_#BMu*NEQ<d-4wP2GH}5i5Ed!bd-2r=)-r!*LK$SoFyI$f0rNavimK8
z_LL-E0pp?)@l&I;{x-yI+;t^x`KAHHZ61+Cye;IPL3}FW!0E*6qJQTRpNMg>l(>z%
zr-(N}J?n^X9jW)bnRtAZ@?FHYL(e}W-ZxImpCDcg$G;G7hVhsS{bv1j0Div+@e7e!
ze>vid;n!*se*}8fnD|>L-<Ei9$fqZ9yRRhTiy*fQ;s;?rrxX7Q{0ZW3BhFY$JP+ja
zI`Lmnekbu4A)jM^!_WK;FN%4#$=~X!{x{s_<yQVr=t%;V{~Y?6MtmRa@?_$+4{rhS
zml6LgBW`kDN!;Z83h^Hx|E<Jr|J-N9?Yh4Zx9jFY|Ck)?x<!cFb;}XA>vkn>^$#F!
z^^Ya~2=rkpaqGuN|Awz8J{0!$An^hNbljQ$wEMOCFHrd+t+ae0j58~5_f>|t-B&&0
zCjVB%t)4E#t)BkGP5z0*P5w6%xBBlOZuPGsZu7?V#EV03cN6c0yvIS}XW<uqCjM)@
z%JTy88i-e~M*o<cZ5&-kyd3(a8u6L%I}L~@z`wR3J_&JMH{zc((RL0bemmw1BZ*g!
z*7BLeEzY==cyIWR2Z=uzsr5Wf-1_S!;-(L85wF}->)A#8H0nP{yawd<HSvS6v%eBI
zeaj8Ku>ML$zM>xSyy&l1#BE%3A#U+Tf8yO*>wQ_i$F6%QO8IyyUjqGm3-NyN`*#uF
zgZ_P*_>GX;OT_KI-XfkK^Q_&(_dq@c5szE@pKq(}FHJli<Etw17m=^5Pkb)g*_!yM
zo3#FJ#O=BRh~J0)N+P}l^YNL)t^5MwNzj{zh?g6!?RlDbSIB=Iam$~+Nqh<9^B(cD
zsQ(k<uON;(PP`@j_z%P<p*`n_uZI5Q$2`OOu{iXzB=M6N@6CyC!no@|ygB0hG~%`|
zc?$7mLsg#hi0AI8{9fXvz?TrW{jbZ3cR>8Jg7^f~^DOb<;A@GeBCcLfJRbAbt;9zl
zF5OLh7W~UW;{QPZo*;e%diXQ(ld$u-aGv#}@nXb3#eGE*Z-(*Shj?S?$vEPNFrS@9
zyeZnVkoXkL6PFXW`O&My!@6j{ze9W-#>L0P!(iu+5+8~C`i}Vb@YjD3pA9|Chj)|b
zILN&u@t0r^!-?BI+E&C@HrM;=OuRed+M9?UhuzB}ZqH-fO5FBg&m(?UlwNlU@j4jS
zD~Ol3c@Xg~up^s@KY)JUPW&p&-_H_%6#Z2hdSr6m2zywUcuicl1@WE9dS4xh+rIWb
z#HXXb;)uW3O6y4_Zu@B_6aN8rbq?`K(6`5k|I}LRf0p=0_`7w)zlUAjM7&o^t!EqY
zBCt!lh{r;2KOx=~@!nD5wr}Pn@w5H)x<3(b4EuJD_(Al0UbM^lw={Th;`3o=$`k($
z{ac&($Cw{AAzlLd)1LSa=yNaPF_8Z-;+0`<#}Ge_{NXg>=V0Gv5?>7a@*wg3(C4R!
zf7n#z{37vpU^m_%o`HIH5?_k;?<YPD<-Z_40{#0v@zt=C1>&_`){niR=hqUS3;$A?
zcpdb6UE*`0KP`#RZXNKi&ctV+oi`Ex2J#<4d@SP9al}g@uAN4F9Qa(~ZJ=+9iSI@n
zyMlOuq=0|DK>Q@izd^h-?)N?7UqYV`5U<@O;9p-6FAn?g6Y(M#M;C~vL!P!D!TNUq
z`l}4$6yrl+H>wlw2)Q*Rz5;Pq6!G>^0srbwd>P`#LBxw={3a7`j`5pC{8)<CKZE$>
zCd%g%zaR2{i1<*9hi8aSLpx6r-`hs(|CM+b*nwQI>n2az|5uc_<vltQw|Vpk;x>;S
zPu%9Y(}{;Q({|oXd@A~D8Sxv?zt1qoyyGR}Z=n9o#KR$<oy1o`KK~$o82<Wq;-#Ut
zdGWo;vpnL8YQ!Tkk8VV~FUCa-@%@lP67eYHVI~p(81`p2@pTx#_Y)rrKeCRv)w7v+
z4D9&_#P5#Qe*BF1X7tMm;#Dv%ej#1}?au|fZt`3OJ642vb(~+0_zQ@mY7&1kUfbE2
zcq#aoPQ>fuetQuA5&oht@geYQgNQF4t=Ekwo`m+;{J`$_2+F5X`TN^yJqw6ieE%5n
z7}$-q#D7QJ_y+M^=*Rboe+zs58S!T5udj*QJo9(rix3CqMSt4;Mq*rDL%b)(OC{o)
z;NR;K{}sG7@e>$d-H6|ZaWshdcaXy<;+?vv{3j4!48Jgo_^X&t-AlYi3$5pQ;!DuZ
zmx;d+qvdUXpUJHo{Nr0xelX@!?-H-rPV3o4{95>lgT$j@$NnH*v4hrA5aYnwlN)hk
zDdOKjZz~i31opfR@jRoo{uab%!Jc;}UUHb0A4a@1?9UkD<6t+Y6EBSV?;^ed@zP@A
zt#REai9e72eUbQdjF&fww?}(ECjKP&QQ~&p?}<-<|2jw9`mq4?%lgZnTez0^b2cv~
z-U<3skN9THt6LGb{bOB-ACA}l8bJIfv_Fyft*{&8iN~P7ZXvz{<M&?TJK^`ACO#Va
zzn=I$)U%m*2lV^<#8VLm9w5E}^?yk`^Cp$UY39)X^Td-Op8^>7){m2+ZzYM>MLprf
zSHS+?NPI8qZ%TXy>|1-{ZQwV15kCyOpG7<Zd<O9;(1-cNm&2bvMBMhDuO!|B_U9$y
z-=m(lh>wAN*hTya^snU)OwPS9uD+)7QwM54{z|+8;{4o*cdVW+=$E3zOXIj4@e)y5
ze+}ZrIw@~N+{Se@aU0h?h}*bMB7PqIo<aPL7`^Uv;vL{8<`FkLu$1@@@Ka9_Uyb8+
z#2d%!bvF}V)>-)n#3!{^evr7;|21*b!(WM8{;eqb&HC{q^x=BqF_;(BBECCH+Y?Fr
z8Q8IQ#Jj?-_9T7_^m8cj?KmDy{Qi!5-HF7<V!X^E9*em5VdAgDe!fY3FXHX@iJxt)
z*Zq|EYSeRr_zBc=j(C39VOxhRDAksb|Lysdiii`9+kUVciJykvwj=&0;?H5kpNHQ`
zC*BhByoLBi*wrP(qdTh{RuG?x``t$TbMQUH&%$5)gLvUCTK`$%YtYX8srtRi=X7&D
zE=hbs2j!KBFNA$-O8i%h_ZZ@NF)n%&KZ1BTh4_>33)#dMAP%{Uco@dl65`iFZ=WPy
z80B{pxBT7b#8;s`r-;7{ds{gzr#$WXsb<8-KyPD+SBui~dlCN(c4sK@ztCT!iP!3`
z^<)#b`Nb0AClJ3qP2A=|FA`5gd$tgN0{#0T@n7Ko4imR=`ZMuV*oR!{IpsO0yB-%M
zUJmxEJn?MExe4*o7}qhxKY~8@AwCawDS`M|#8+d9pXsLUoJPC_<Zu`9HZ8UMQsNUK
zhnI<ei1E9Xcq;nwBjQI8j~yW%h5P!B_$R369PyQim#!L{vtRy-)8o>_zlPnYM*IW#
z_lCqDfPA8fSHw7tC4L<JJCt}A=*bx3wNTGw;zQ!K{d0&v2*2<E@p#y`Cx}---rxn|
z-9~8rZxX*2^?X2l1mu5^cs=O(8RGe12l9{8>zF;?i~B7_yfgHz8u7N!w?@Q|q2JpP
zx8I%YO?(^lA%S>0`ga`hHL%aqiQD@7eBx#w9wz?KFuniP#O=Aejl_3A4m*k4^DUne
zw|U>!#P5QhG#Q^${#W(X<4(j=aNXg=<Kf5065ok<bt>^4O|<?yh;M-%yPtRw_}NE^
z-vK>bO?(CNGp`Zv1^c<3xb@e5;xFQUza(z^2Yx1g6!syIkyD;|VXq1izYFo$b;J+B
z4p$}qS#Pbk8S(RwXAJQlp;v>6cZD2A5ub{2H-Y#F_>0?!PenYlkofPo?sDQaP<}P>
z(L?pV-XXpX_HYmJM!mKCVdCpx2Tl>sfPepu_yx2lcV^E1x(e5=M*K0%YdR6%1Uoa7
zxar9l;@3m|6N%@6oM#e$8uzt`_&aF-GU6{m-ySEv8{_2};t`0?*AV{$a(;<;D&)C=
z_+yaUN5rlDhl!8tq;fw^{AG-b--tg4zj>bca*UVUSvmW$9^_Mi_zCbL#B0KC)F!?j
zb|8}YYS_KD#0MeHj3vGa{$dF60OE})#9Iu}`<X}lTa43tiQkO+mk_t#WnNDFHr&?=
z;^EMfXNgzFd~7Z8_R!l`h(8Cvzlr!av3g%yh_8U1-%fm5FD<`|_`*o#dx@`xzy6H)
z`xr;Zi1&t`|4iKSuzwI=iS}F|z8mwbyxH0=i)XfAzI-+DNW>e(iT?z9Sekf+WUaS6
z@#|ohst{j-_^KB1Y{;iB@vX4ijfrnb(CfA!z8U%%P28TV=}5c|+S#3W9NN=|_&&rB
z1BtJW()Pp=?+yEtMEs3-EkB0%qtO5H#LvMFOeFpb`ga=frm#yhiMK$1-AQ~k;^YOy
z^CRAVfOu|<yN8IsgZS++;?4T${XR|nS=ig>h(|)s>xd7*IDL)y5!i>##CPGoJ|<og
z_w_09H&Ffv@f)E3UlHGedcGn4F8t|_#DBy%JwyC2@O%?gPBu=nq30!uPmI!XRfr#f
z{?{jdT^B9ihWG&JRd?dkBDMTr;xpi9rx4%LL(AVy{A<YVKH>#2u9p(uhxR-|d<Vwk
zQ^Xg-&%Q+5*5kGiuLk}6koX3)^DuFf+n>bk`LwbV^}emYX2S2(BwiQSjU@gV`n@0V
zQyAByi0_8{(}@p*o@5a(i}p+*UNm0YJ%jjClwU}E8}cN}iQ9AXtBEgypWQ(Gfqr`3
z?ZiL9b@vm$5A(h+i6;!!dVV5)xWDqiBz?DjnTz<R2=PZTPOm3!ziU*Rxa|jPO5EbB
z4#aI9*N?cZ*CZ0}h<?l@{s#2_HsT9#zxNP-4}R?};tTtzTs|azkLf@0MX+z*5nqnD
z<vj6d_=T${=ahdrT(>Oo#|LV;TEyq{Ro;}it)p}#-XC`FCgQox{}O*4@l_V_ebB3!
z#Gi!UyqEY5uzQaY9}%hTUrXHV^P9v?Pj(S+(Msz%MBMtl=@k9m^!zRO)7HdqM?Epb
zqjA4|h?^ZqAif8BIDz<NjMG`f??%5oLA)dS_aDT|!v2@OIp=*{1^ui_d<b}b;+79@
zO+0L{*4vGELNnz9i5Ej0HIn$@crBkr{AK9Lt;DxB)$$J${}ui6Eb%)KpRXrwzi0F|
z@tIAu{yoI)`TwKD55w+VAbte#RpF^xpXt>H(C2c*ufsU1N8IY^OuWnxtv8wYRM>}1
z;>X}OrxVW$zqy$BW8f=^k48Pu6CVaU_A+t%z1oe$$HISoLOg(Z({bXZaNQq>Zyls^
zI7fU#l=A%3^xfqDD#pb%#P`8pR3!cr@-1zNw-~7P_8`6_UinPoD+VZENc=qFfrp7t
zK|RkBe-3_RJ@LG_ueXUeAFbE@h`6=$F!2VE!#BiVK!2SfJ|6K^p<DDiCg*QZPZ{F&
zylQpgwhwA3@#|233h`f%SIH)RvbnZnCh@;um+m3{7~1&=@z&6{jl>sXTx=)46neXl
zxc&X7<HWB;{CS%AF|_|r;(LcdzSDEc*?vd<I^s`b-dCTv`N!78yR^}IyArqGH5))Y
zfN_^ZygBT12JwM6Y5miQN5fv-M|?2!?NQ=M(DOCKD|FHNHxak_%MRkUe!ZV~HthLv
z;ugnVb*o;-^!%zJdVD?cv=+)66F2#{C2r$4mU!pETF(gLDe!C4h?m8<m`mLD1uZ5X
zhxp-1;>}=ZUL<byze&7KT)@BHC%zr=%%{W`V?6$Ycr@b7pNYQ%`x%%K@Gq19YpAC%
z@t4q^vcx}t-qs}k3hIv}ZuYP}aa*q+Mm!}++c%x~iPp;RCVoBQ-p$0{MZdpK{4C^i
zl=wc3uWyKNg8e*0d>-yM?`=8dc^dIg3E~-;k5nXHtc{+3Bk>m@=f1@6Yp3NuA%3u>
z^3%j^-^icDt)7B2bGF~cU1{RB|FA0Y{IK)&iJPBlP27IJw=411=*I!XO%IcZAAsG<
zCY}p+{&wQF&wu2socC*gpXn~*N84(-hlwALSN;U?<*-*PiO+4X<<}CQf${Y^@!Zi`
zekbu=DE|rZ{KK{Um&EI1KK>)|$Drqb5$}?y^|ZWQ-_1U3hn#y8pNjci9C5Srsl?4b
zPa)nO@!K5YR?q#!>!AIQ5kEOX+r5T(UD)%D#G9kPz9arM?88~&)}H*cbIQl|Ete#2
zey|ep6&Tlbh|h-nI}$$&|I(MZ{oZRL@vtauUl#FP$UDs<K0RK`-%orl^y)+6(U_MV
zB5ro|6mj#LzZ188p?T)$^-bT*9~CEV{-pwO^CJt1Z;R4;A0~bp{_a`gxs$Yf;EtT_
zxejqcVd6KyAC)8iCG1!Y;?|Fih_6QZw#<iWJ9-c|{TWQ$?CL1uGZ9~96Ym52b{p{<
z5pOIaUIBXh1aXU7))F`QzfSxW=+92#vq$OuenNaX_?N_=gn$2$_;ToZ=AAkFaVPQv
zGl&<A*K+fT=YiZFBK|(?&wAp2#ArRg6aT%v@;r0(-Sqqb;`8Ff&CXOH9>929O1xK;
z*1L*$%t+<yiP!I}d@FJLo$lSlr@|f{B;Fh2<plBDpg+G5x46CBU3&e3@>W9r{{rKv
z6Y)DBpMJzmK2wQLPS$$wB)$Rj%|*nmJ%18k134F*m$RLgHz-Z~Ug$$T;+5d9yAbaW
zeHc&te)yxOh;N4+UL^h*`u7du%g`_HF-M$vfcO~rm#>Hy!+8IRcs%ss0`c4fRbGYe
z&MCKL7<Xle|AIKDI`J0}w=^W)68#cIyb9vI?!-Gn&j%6ji~5s^S4Y2O5wF%<?`H<_
zkH8lYx8FH>o_IgRC$AD8h<5HFZhHPJ@z*+NdveduDQC0i*AwrI@{Nh_#{8un@f5^+
zJ%~?E(d!K+Zhn6har3j;#Lds%Mtlv%%L3v}I_h<o5jVThctK7%48?elCjJoYQV-%C
z;0F_kpMc&b6Mr7#E{*sXXlEwzw=k}!5Wmn}+r5~$>Ce-|r@#)pLVRF?*7G)Ti@Wv^
zpBSs<j}o`vzy6;1b%;YMEX*nAZ=pZ6h%fG;<)Vn6?WDXr@yQq$gNa`YJzPLMyPeka
zFnBIG%&o}(yOGLwLA<vkr2JJ<vMkOyLFErc>KDIKd3TO`<-bSY-F2(!NB?g%aPw=i
zkaL5O^6oo(^`!E5z}^lEDR0+w=j6kQu8t!3?B0suvujTnKD#&EM!?G73;CBtMO^-R
zoa@S8i_h*Y9G|&-BXBO?l*+sF+^d_u`Syg?-xJ*G5B6o9%*kn43Bv<*GP5%DeUyDl
zADfj_CpkU4&hYG%)WnFC#6TU7x}~INPYTq@N}7}vsFRVDnh+N^#%jrN7?(UQHCSRq
z#t2_OO6Z|45j;IkuAGvdoEfN-Ha0OOedO3cT-=1DjLej=>B15d<i}uqds0)<$Ba!M
zkyIyZR7z%?l+8{}3e*{%DTQ3^brO??XD7$`3h+5$`0$LR2|2z_$Vf;}PRe<TR4f(g
z>C%=!oe^Wx(vs5UHvNrv?9neGGb=&<CPC<RMrI_WAsT>?|9`xdlXLUS|H1x2T~T<i
zig$a<V;}HdN8T@Yej>iVj>_}-&fPj4v2kF<r{Y7X?mJ|9XXRqRxc#@Hz<+lAC@JUK
z<laMHr_1Y=;sGnjyDL`!$5yWkvs_8O{t_yOLtlq|cJI!dT<-ckD_nYgCnLUovarit
zf30x$vhsR#sr-h^7ni&KT3o*#PIUM0>azOm{wD~#-1T3@c~%~Wm-OFw`QmcdKYE$#
zJDX(n+4W}$yWI6R3wJNGLwa=S{V$R)E_Z%02jzvduO7(1z`^53z_|b8Q7|f4Qa^;#
z@w0O5in5+Rit`Imc_*vTm+R-toxj<xPYsI-Jy|~Ql>ePf`TCbAD$YZ-I0^*z$|q+2
zOEfeYe$P(evb*Jr%k_V;idr)KQ$5q^pPN^5{~r~`bqWe3Kj8ii1UiK}TRG;kKVOEq
z^PXSs{{7GO=X)u0x%SsPqgU$WYY7Bg`<;K}_UD&k+$ML*1zf)qDFBzvE#Pw3pM>k%
zIC0l6eVOZDgX`Nkch`2Wj;r*2{uq6?f9?AA?uM!R%;)bbr6n+(veSe2YUkI$`N0DC
zP_(p_$oUP^mVa}8F`OTt^Yozn4L6bVFDJi+kl#WSbn<ht6!)KN4-GMY#yDL6R#&;a
sD$4&ZuH^HbdR{X2gq<#@cY0Regy@S71H}bj?)>mSv}9*Gfer)zAC)Yb#sB~S

literal 0
HcmV?d00001

diff --git a/tests/test-abidiff-exit.cc b/tests/test-abidiff-exit.cc
index 38f1301eb924..76fde58fdbae 100644
--- a/tests/test-abidiff-exit.cc
+++ b/tests/test-abidiff-exit.cc
@@ -392,6 +392,17 @@ InOutSpec in_out_specs[] =
     "data/test-abidiff-exit/test-non-leaf-array-report.txt",
     "output/test-abidiff-exit/test-non-leaf-array-report.txt"
   },
+  {
+    "data/test-abidiff-exit/test-crc-v0.abi",
+    "data/test-abidiff-exit/test-crc-v1.abi",
+    "",
+    "",
+    "",
+    "",
+    abigail::tools_utils::ABIDIFF_ABI_CHANGE,
+    "data/test-abidiff-exit/test-crc-report.txt",
+    "output/test-abidiff-exit/test-crc-report.txt"
+  },
   {
     "data/test-abidiff-exit/test-missing-alias.abi",
     "data/test-abidiff-exit/test-missing-alias.abi",
diff --git a/tests/test-abidiff.cc b/tests/test-abidiff.cc
index 82683f426d66..3452b7ee7284 100644
--- a/tests/test-abidiff.cc
+++ b/tests/test-abidiff.cc
@@ -77,7 +77,7 @@ static InOutSpec specs[] =
   {
     "data/test-abidiff/test-PR18166-libtirpc.so.abi",
     "data/test-abidiff/test-PR18166-libtirpc.so.abi",
-    "data/test-abidiff/test-PR18166-libtirpc.so.report.txt",
+    "data/test-abidiff/empty-report.txt",
     "output/test-abidiff/test-PR18166-libtirpc.so.report.txt"
   },
   {
@@ -89,26 +89,44 @@ static InOutSpec specs[] =
   {
     "data/test-abidiff/test-PR24552-v0.abi",
     "data/test-abidiff/test-PR24552-v1.abi",
-    "data/test-abidiff/test-PR24552-report0.txt",
+    "data/test-abidiff/empty-report.txt",
     "output/test-abidiff/test-PR24552-report0.txt"
   },
   {
     "data/test-abidiff/test-empty-corpus-0.xml",
     "data/test-abidiff/test-empty-corpus-0.xml",
-    "data/test-abidiff/test-empty-corpus-report.txt",
-    "output/test-abidiff/test-empty-corpus-report.txt"
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-empty-corpus-report-0.txt"
   },
   {
     "data/test-abidiff/test-empty-corpus-1.xml",
     "data/test-abidiff/test-empty-corpus-1.xml",
-    "data/test-abidiff/test-empty-corpus-report.txt",
-    "output/test-abidiff/test-empty-corpus-report.txt"
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-empty-corpus-report-1.txt"
   },
   {
     "data/test-abidiff/test-empty-corpus-2.xml",
     "data/test-abidiff/test-empty-corpus-2.xml",
-    "data/test-abidiff/test-empty-corpus-report.txt",
-    "output/test-abidiff/test-empty-corpus-report.txt"
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-empty-corpus-report-1.txt"
+  },
+  {
+    "data/test-abidiff/test-crc-0.xml",
+    "data/test-abidiff/test-crc-1.xml",
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-crc-report-0-1.txt"
+  },
+  {
+    "data/test-abidiff/test-crc-1.xml",
+    "data/test-abidiff/test-crc-0.xml",
+    "data/test-abidiff/empty-report.txt",
+    "output/test-abidiff/test-crc-report-1-0.txt"
+  },
+  {
+    "data/test-abidiff/test-crc-1.xml",
+    "data/test-abidiff/test-crc-2.xml",
+    "data/test-abidiff/test-crc-report.txt",
+    "output/test-abidiff/test-crc-report-1-2.txt"
   },
   // This should be the last entry.
   {0, 0, 0, 0}
diff --git a/tests/test-read-write.cc b/tests/test-read-write.cc
index ffca005251c0..54bc2b5e9fb2 100644
--- a/tests/test-read-write.cc
+++ b/tests/test-read-write.cc
@@ -238,6 +238,12 @@ InOutSpec in_out_specs[] =
     "data/test-read-write/test28-without-std-vars-ref.xml",
     "output/test-read-write/test28-without-std-vars.xml"
   },
+  {
+    "data/test-read-write/test-crc.xml",
+    "",
+    "data/test-read-write/test-crc.xml",
+    "output/test-read-write/test-crc.xml",
+  },
   // This should be the last entry.
   {NULL, NULL, NULL, NULL}
 };
diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
index e843738bedad..830f3ec80608 100644
--- a/tests/test-symtab.cc
+++ b/tests/test-symtab.cc
@@ -410,3 +410,18 @@ TEST_CASE("Symtab::SimpleKernelSymtabs", "[symtab, basic, kernel, ksymtab]")
       }
     }
 }
+
+TEST_CASE("Symtab::KernelSymtabsWithCRC", "[symtab, crc, kernel, ksymtab]")
+{
+  const std::string base_path = "kernel-modversions/";
+
+  GIVEN("a binary with one function and one variable (GPL) exported")
+  {
+    const std::string  binary = base_path + "one_of_each.ko";
+    const corpus_sptr& corpus = assert_symbol_count(binary, 2, 2);
+    CHECK(corpus->lookup_function_symbol("exported_function")->get_crc() != 0);
+    CHECK(corpus->lookup_function_symbol("exported_function_gpl")->get_crc() != 0);
+    CHECK(corpus->lookup_variable_symbol("exported_variable")->get_crc() != 0);
+    CHECK(corpus->lookup_variable_symbol("exported_variable_gpl")->get_crc() != 0);
+  }
+}
-- 
2.30.0.280.ga3ce27912f-goog


^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 01/20] abg-cxx-compat: add simplified version of std::optional
  2021-01-27 12:58   ` [PATCH 01/20] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
@ 2021-03-09  9:43     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-09  9:43 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> In the absence (but desire) of std::optional<T>, add a simplified
> version of it to abg_compat:: in case we are compiling with a pre-C++17
> standard. Otherwise use std::optional from <optional> directly.
>
> This is being used by a later patch and serves as a prerequisite.
> It only serves the purpose of being a compatibility implementation and
> does not claim to be complete at all. Just enough for the project's
> needs.
>
> 	* include/abg-cxx-compat.h (abg_compat::optional): Add new class.
> 	* tests/tests-cxx-compat.cc: Add new test cases.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master, thanks!

Cheers,

[...]

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 02/20] abg-ir: elf_symbol: add is_in_ksymtab field
  2021-01-27 12:58   ` [PATCH 02/20] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
@ 2021-03-09 14:05     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-09 14:05 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

> Being exported through a ksymtab (in case of Linux Kernel binaries) is
> actually a property of the Elf symbol itself and we can therefore track
> it along with the symbol that we collect from symtab. While tracking is
> currently done by keeping separate symbol lists and maps for symtab and
> ksymtab symbols, they can be consolidated having a property to indicate
> whether this symbol also appeared as a ksymtab entry.

Just for some context, the reason why I kept that property out of the
[ir] module is that in my mind, the abigail::ir::elf_symbol type was
meant to be "independant" from whatever specificity a particular
platform would have, regarding an ELF symbol.  For instance, when
looking at user space ELF symbol, "is_in_ksymtab" does not really make
sense.  I guess this "ideal" got destroyed by the addition of the
"is_linux_string_cst" property to that type, and I think I mourned that
ideal at this point.

I think we can now say that the userspace and kernel use case are first
citizen use cases and they just ought to be there :-)

[...]

> diff --git a/src/abg-ir.cc b/src/abg-ir.cc
> index d1d02f3aad5d..22532cc87dfd 100644
> --- a/src/abg-ir.cc
> +++ b/src/abg-ir.cc

[...]
> @@ -1686,6 +1703,14 @@ bool
>  elf_symbol::is_variable() const
>  {return get_type() == OBJECT_TYPE || get_type() == TLS_TYPE;}
>  
> +bool
> +elf_symbol::is_in_ksymtab() const
> +{return priv_->is_in_ksymtab_;}
> +
> +void
> +elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
> +{priv_->is_in_ksymtab_ = is_in_ksymtab;}
> +

These two member function definitions lack doxygen comment.  I took the
liberty to add some there.

[...]


> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master with the changes above.

[...]

Thanks!

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 03/20] abg-ir: elf_symbol: add is_suppressed field
  2021-01-27 12:58   ` [PATCH 03/20] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
@ 2021-03-09 18:03     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-09 18:03 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> In the context of libabigail and a single library run (when reading from
> dwarf or from xml), a symbol is either suppressed or it is not. While
> one could argue that this is a property of the read_context, the
> read_context might not be around anymore when the symbol still is.
> Hence, persist the 'is_suppressed' state along with the symbol itself.

In the future, if needed be, maybe well rather make the "applied" suppression
specifications be part of the ABI corpus they are related to.  That way,
the is_suppressed becomes a function, rather than a static property,
similarly to what is done for abigail::comparison::diff::is_suppressed().

This could be useful for usecases where we'd want to apply a new
suppression specification to the IR on the fly and see the impact.  I
guess when we have that usecase, then we'll change this.  I just thought
I'd share this :-)

[...]

> +bool
> +elf_symbol::is_suppressed() const
> +{return priv_->is_suppressed_;}
> +
> +void
> +elf_symbol::set_is_suppressed(bool is_suppressed)
> +{priv_->is_suppressed_ = is_suppressed;}
> +

I have added doxygen comments to these two accessors.

[...]

> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master.

Thanks!

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
  2021-01-27 12:58   ` [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
@ 2021-03-10 18:00     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-10 18:00 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> abg-symtab-reader.{h,cc} shall contain the refactored symtab reader.
> Create the stub files, an empty unit test and hook everything up in the
> make system.
>
>     * src/abg-symtab-reader.h: New header file.
>     * src/abg-symtab-reader.cc: New source file.
>     * src/Makefile.am: Add new source files.
>     * tests/Makefile.am: Add new test case runtestsymtabreader.
>     * tests/test-symtab-reader.cc: New test source file.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master, thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 05/20] Refactor ELF symbol table reading by adding a new symtab reader
  2021-01-27 12:58   ` [PATCH 05/20] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
@ 2021-03-12 11:18     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-12 11:18 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

> Based on existing functionality, implement the reading of ELF symbol
> tables as a separate component. This reduces the complexity of
> abg-dwarf-reader's read_context by separating and delegating the
> functionality. This also allows dedicated testing.
>
> The new namespace symtab_reader contains a couple of new components that
> work loosely coupled together. Together they allow for a consistent view
> on a symbol table. With filter criteria those views can be restricted,
> iterated and consistent lookup maps can be built on top of them. While
> this implementation tries to address some shortcomings of the previous
> model, it still provides the high level interfaces to the symbol table
> contents through sorted iterating and name/address mapped access.
>
> symtab_reader::symtab
>
>   While the other classes in the same namespace are merely helpers, this
>   is the main implementation of symtab reading and storage.
>   Symtab objects are factory created to ensure a consistent construction
>   and valid invariants. Thus a symtab will be loaded by either passing
>   an ELF handle (when reading from binary) or by passing a set of
>   function/variable symbol maps (when reading from XML).
>   When constructed they are considered const and are not writable
>   anymore. As such, all public methods are const.
>
>   The load reuses the existing implementation for loading symtab
>   sections, but since the new implementation does not distinguish
>   between functions and variables, the code could be simplified. The
>   support for ppc64 function entry addresses has been deferred to a
>   later commit.
>
>   Linux Kernel symbol tables are now directly loaded by name when
>   encountering symbols prefixed with the __ksymtab_ as per convention.

Whoah.  No more messing with __ksymtab sections then.  How cool is that!
:-)

>   This has been tricky in the past due to various different binary
>   layouts (relocations, position relative relocations, symbol
>   namespaces, CFI indirections, differences between vmlinux and kernel
>   modules). Thus the new implementation is much simpler and is less
>   vulnerable to future ksymtab changes.

Let's just hope the "__ksymtab_" prefix convention stays that, I guess
;-)

>   As we are also not looking up the Kernel symbols by addresses, we
>   could resolve shortcomings with symbol aliasing: Previously a symbol
>   and its alias were indistinguishable as they are having the same
>   symbol address. We could not identify the one that is actually
>   exported via ksymtab.

I see.

>   One major architectural difference of this implementation is that we
>   do not early discard suppressed symbols. While we keep them out of the
>   vector of exported symbols, we still make them available for lookup.
>   That helps addressing issues when looking up a symbol by address (e.g.
>   from the ksymtab read implementation) that is suppressed. That would
>   fail in the existing implementation.
>
>   Still, we intend to only instantiate each symbol once and pass around
>   shared_ptr instances to refer to it from the vector as well as from
>   the lookup maps.
>
>   For reading, there are two access paths that serve the existing
>   patterns:
> 	1) lookup_symbol: either via a name or an address
> 	2) filtered iteration with begin(), end()
>
>   The former is used for direct access with a clue in hand (like a name
>   or an address), the latter is used for iteration (e.g. when emitting
>   the XML).
>
> symtab_reader::symtab_iterator
>
>   The symtab_iterator is an STL compatible iterator that is returned
>   from begin() and end() of the symtab. It allows usual forward iterator
>   operations and can optionally take a filter predicate to skip non
>   matching elements.
>
> symtab_reader::symtab_filter
>
>   The symtab_filter serves as a predicate for the symtab_iterator by
>   providing a matches(const elf_symbol_sptr&) function.  The predicate
>   is built by ANDing together several conditions on attributes a symbol
>   can have. The filter conditions are implemented in terms of
>   std::optional<bool> members to allow a tristate: "needs to have the
>   condition set", "must not have it set" and "don't care".
>
> symtab_reader::filtered_symtab
>
>   The filtered_symtab is a convenience zero cost abstraction that allows
>   prepopulating the symtab_filter (call it a capture) such that begin()
>   and end() are now accessible without the need to pass the filter
>   again. Argumentless begin() and end() are a requirement for range-for
>   loops and other STL based algorithms.

Neat design.  I like it.  Thanks for making this is so "down to the
point" and yet with the a nice level of abstraction.


Now I've just picked some superficial nits below.

>
> 	* src/abg-symtab-reader.h (symtab_filter): New class.
> 	(symtab_iterator): Likewise.
> 	(symtab): Likewise.
> 	(filtered_symtab): Likewise.
> 	* src/abg-symtab-reader.cc (symtab_filter::matches): New.
> 	(symtab::make_filter): Likewise.
> 	(symtab::lookup_symbol): Likewise.
> 	(symbol_sort): Likewise.
> 	(symtab::load): Likewise.
> 	(symtab::load_): Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>
> ---
>  src/abg-symtab-reader.cc | 347 +++++++++++++++++++++++++++++++++++++++
>  src/abg-symtab-reader.h  | 277 ++++++++++++++++++++++++++++++-
>  2 files changed, 623 insertions(+), 1 deletion(-)
>
> diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
> index a6c8ca0ef548..4576be2a0b42 100644
> --- a/src/abg-symtab-reader.cc
> +++ b/src/abg-symtab-reader.cc
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
>  // -*- Mode: C++ -*-
>  //
> +// Copyright (C) 2013-2020 Red Hat, Inc.
>  // Copyright (C) 2020 Google, Inc.
>  //
>  // Author: Matthias Maennich
> @@ -9,7 +10,20 @@
>  ///
>  /// This contains the definition of the symtab reader
>  
> +#include <algorithm>
> +#include <iostream>
> +#include <unordered_set>
> +
> +#include "abg-elf-helpers.h"
> +#include "abg-fwd.h"
> +#include "abg-internal.h"
> +#include "abg-tools-utils.h"
> +
> +// Though this is an internal header, we need to export the symbols to be able
> +// to test this code.  TODO: find a way to export symbols just for unit tests.
> +ABG_BEGIN_EXPORT_DECLARATIONS
>  #include "abg-symtab-reader.h"
> +ABG_END_EXPORT_DECLARATIONS

Ah, right.  Now that we have unitary tests this may become a real thing
to care about.  I think a way forward at some point might be to use ELF
versioning (or something similar) to put assign a dedicated ELF version
(e.g, _ABG_INTERNAL_) to all these symbols that are needed just for unit
testing.  Then a linker script would hide all these symbols in the final
shared library.

Another way to go would be to use the unit testing smartly, rather than
like a gold hammer that considers that everything is a nail.  Contrary
to popular belief, I am unimpressed by the parroting of the fable that
unit testing would be the end-all-be-all of software engineering.  I
think that reductionist view might be more harmful than what people
might think.  I tend to lean towards the "it depends" point of view.  If
we have a good enough API, I think unit testing on an envelope that is
smaller than the exposed API is often counterproductive in practise.  If
we /need/ to do that, then it probably means that the API might need to
be more granular, more "test-able", so to speak.  So we might
address/fix the problem at that level instead.

In any case, I guess this can be saved as an undertaking for another day
:-)

[...]


> +/// Construct a symtab object and instantiate from an ELF handle. Also pass
> +/// in an ir::environment handle to interact with the context we are living
> +/// in. If specified, the symbol_predicate will be respected when creating
> +/// the full vector of symbols.
> +symtab_ptr
> +symtab::load(Elf*	      elf_handle,
> +	     ir::environment* env,
> +	     symbol_predicate is_suppressed)

This function lacks descriptive comments for its parameters and return
value.

I agree the meaning parameters are obvious in the overall context of the
code, but we need the comment this to have a complete API doc generated
with all the descriptions :-(

> +{
> +  ABG_ASSERT(elf_handle);
> +  ABG_ASSERT(env);
> +
> +  symtab_ptr result(new symtab);
> +  if (!result->load_(elf_handle, env, is_suppressed))
> +    return {};
> +
> +  return result;
> +}
> +
> +/// Construct a symtab object from existing name->symbol lookup maps.
> +/// They were possibly read from a different representation (XML maybe).
> +symtab_ptr
> +symtab::load(string_elf_symbols_map_sptr function_symbol_map,
> +	     string_elf_symbols_map_sptr variables_symbol_map)
>

Likewise.

> +{
> +  symtab_ptr result(new symtab);
> +  if (!result->load_(function_symbol_map, variables_symbol_map))
> +    return {};
> +
> +  return result;
> +}
> +
> +symtab::symtab() : is_kernel_binary_(false), has_ksymtab_entries_(false) {}

Just for the sake of consistency with the rest of the code, I'd say this
might be written as: 

symtab::symtab()
  : is_kernel_binary_(false), has_ksymtab_entries_(false)
{}

> +
> +/// Load the symtab representation from an Elf binary presented to us by an
> +/// Elf* handle.
> +///
> +/// This method iterates over the entries of .symtab and collects all
> +/// interesting symbols (functions and variables).
> +///
> +/// In case of a Linux Kernel binary, it also collects information about the
> +/// symbols exported via EXPORT_SYMBOL in the Kernel that would then end up
> +/// having a corresponding __ksymtab entry.
> +///
> +/// Symbols that are suppressed will be omitted from the symbols_ vector, but
> +/// still be discoverable through the name->symbol and addr->symbol lookup
> +/// maps.
> +bool
> +symtab::load_(Elf*	       elf_handle,
> +	      ir::environment* env,
> +	      symbol_predicate is_suppressed)
> +{

This function lacks descriptive comments for its parameters and return
value.

[...]


> +      const elf_symbol_sptr& symbol_sptr = elf_symbol::create(
> +	  env, i, sym->st_size, name,
> +	  elf_helpers::stt_to_elf_symbol_type(GELF_ST_TYPE(sym->st_info)),
> +	  elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)),
> +	  sym_is_defined, sym_is_common, ver,
> +	  elf_helpers::stv_to_elf_symbol_visibility(
> +	      GELF_ST_VISIBILITY(sym->st_other)),
> +	  false); // TODO: is_linux_strings_cstr

Do we still need the is_linux_strings_cstr parameter?  I'd say no, as we
don't mess with __ksymtab* sections anymore.  So maybe the TODO comment
should be more explicit in saying that we need to get rid of it.

Besides, I'd say that to comply with the rest of the code, the "new
line" should come before the opening parenthesis of the function call, e.g:

  const elf_symbol_sptr& symbol_sptr =
    elf_symbol::create
    (env, i, sym->st_size, name,
     elf_helpers::stt_to_elf_symbol_type(GELF_ST_TYPE(sym->st_info)),
     elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)),
     sym_is_defined, sym_is_common, ver,
     elf_helpers::stv_to_elf_symbol_visibility
     (GELF_ST_VISIBILITY(sym->st_other)),
     /*is_linux_strings_cstr=*/false); // TODO: The
				       // is_linux_strings_cstr
				       // parameter should be removed
				       // as it's not needed anymore

[...]

> +
> +/// Load the symtab representation from a function/variable lookup map pair.
> +///
> +/// This method assumes the lookup maps are correct and sets up the data
> +/// vector as well as the name->symbol lookup map. The addr->symbol lookup
> +/// map cannot be set up in this case.
> +bool
> +symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
> +	     string_elf_symbols_map_sptr variables_symbol_map)
> +
> +{

This function lacks descriptive comments for its parameters and return
value.

> +  if (function_symbol_map)
> +    for (const auto& symbol_map_entry : *function_symbol_map)
> +      {
> +	symbols_.insert(symbols_.end(), symbol_map_entry.second.begin(),
> +			symbol_map_entry.second.end());
> +	ABG_ASSERT(name_symbol_map_.insert(symbol_map_entry).second);
> +      }
> +
> +  if (variables_symbol_map)
> +    for (const auto& symbol_map_entry : *variables_symbol_map)
> +      {
> +	symbols_.insert(symbols_.end(), symbol_map_entry.second.begin(),
> +			symbol_map_entry.second.end());
> +	ABG_ASSERT(name_symbol_map_.insert(symbol_map_entry).second);
> +      }
> +
> +  // sort the symbols for deterministic output
> +  std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
> +
> +  return true;
> +}
> +
>  } // end namespace symtab_reader
>  } // end namespace abigail
> diff --git a/src/abg-symtab-reader.h b/src/abg-symtab-reader.h
> index a929166b83ef..4c5e3b85c22d 100644
> --- a/src/abg-symtab-reader.h
> +++ b/src/abg-symtab-reader.h

[...]


> +/// The symtab filter is the object passed to the symtab object in order to
> +/// iterate over the symbols in the symtab while applying filters.
> +///
> +/// The general idea is that it consists of a set of optionally enforced flags,
> +/// such as 'functions' or 'variables'. If not set, those are not filtered for,
> +/// neither inclusive nor exclusive. If set they are all ANDed together.
> +class symtab_filter
> +{
> +public:
> +  // Default constructor disabling all features.
> +  symtab_filter() {}
> +
> +  bool
> +  matches(const elf_symbol& symbol) const;
> +
> +  void
> +  set_functions(bool new_value = true)

This function which is defined lacks comments for its parameter.

> +  { functions_ = new_value; };

To comply with the rest of the code, one liner function implementation
don't have any leading/trailing space, e.g, it should be:

    void
    set_functions(bool new_value = true)
    {functions_ = new_value;}

> +
> +  void
> +  set_variables(bool new_value = true)
> +  { variables_ = new_value; };

Likewise.

> +
> +  void
> +  set_public_symbols(bool new_value = true)
> +  { public_symbols_ = new_value; };

Likewise.

> +
> +  void
> +  set_undefined_symbols(bool new_value = true)
> +  { undefined_symbols_ = new_value; };

Likewise.

> +
> +  void
> +  set_kernel_symbols(bool new_value = true)
> +  { kernel_symbols_ = new_value; };

Likewise.

> +
> +private:
> +  // The symbol is a function (FUNC)
> +  abg_compat::optional<bool> functions_;
> +
> +  // The symbol is a variables (OBJECT)
> +  abg_compat::optional<bool> variables_;
> +
> +  // The symbol is publicly accessible (global/weak with default/protected
> +  // visibility)
> +  abg_compat::optional<bool> public_symbols_;
> +
> +  // The symbols is not defined (declared)
> +  abg_compat::optional<bool> undefined_symbols_;
> +
> +  // The symbol is listed in the ksymtab (for Linux Kernel binaries).
> +  abg_compat::optional<bool> kernel_symbols_;
> +};
> +
> +/// Base iterator for our custom iterator based on whatever the const_iterator
> +/// is for a vector of symbols.
> +/// As of writing this, std::vector<elf_symbol_sptr>::const_iterator.
> +typedef elf_symbols::const_iterator base_iterator;
> +
> +/// An iterator to walk a vector of elf_symbols filtered by symtab_filter.
> +///
> +/// The implementation inherits all properties from the vector's
> +/// const_iterator, but intercepts where necessary to allow effective
> +/// filtering. This makes it a STL compatible iterator for general purpose
> +/// usage.
> +class symtab_iterator : public base_iterator
> +{
> +public:
> +  typedef base_iterator::value_type	 value_type;
> +  typedef base_iterator::reference	 reference;
> +  typedef base_iterator::pointer	 pointer;
> +  typedef base_iterator::difference_type difference_type;
> +  typedef std::forward_iterator_tag	 iterator_category;
> +
> +  /// Construct the iterator based on a pair of underlying iterators and a
> +  /// symtab_filter object. Immediately fast forward to the next element that
> +  /// matches the criteria (if any).
> +  symtab_iterator(base_iterator	       begin,
> +		  base_iterator	       end,
> +		  const symtab_filter& filter = symtab_filter())
> +    : base_iterator(begin), end_(end), filter_(filter)

This function lacks description for its parameters.

> +  { skip_to_next(); }

There should be no trailing/leading space.

> +
> +  /// Pre-increment operator to advance to the next matching element.
> +  symtab_iterator&
> +  operator++()
> +  {

This function lacks a description for its return value.

> +    base_iterator::operator++();
> +    skip_to_next();
> +    return *this;
> +  }
> +
> +  /// Post-increment operator to advance to the next matching element.
> +  symtab_iterator
> +  operator++(int)
> +  {

This function lacks a description for its return value.

> +    symtab_iterator result(*this);
> +    ++(*this);
> +    return result;
> +  }

[...]


> +/// symtab is the actual data container of the symtab_reader implementation.
> +///
> +/// The symtab is instantiated either via an Elf handle (from binary) or from a
> +/// set of existing symbol maps (usually when instantiated from XML). It will
> +/// then discover the symtab, possibly the ksymtab (for Linux Kernel binaries)
> +/// and setup the data containers and lookup maps for later perusal.
> +///
> +/// The symtab is supposed to be used in a const context as all information is
> +/// already computed at construction time. Symbols are stored sorted to allow
> +/// deterministic reading of the entries.
> +///
> +/// An example use of the symtab class is
> +///
> +/// const auto symtab    = symtab::load(elf_handle, env);
> +/// symtab_filter filter = symtab->make_filter();
> +/// filter.set_public_symbols();
> +/// filter.set_functions();
> +///
> +/// for (const auto& symbol : filtered_symtab(*symtab, filter))
> +///   {
> +///     std::cout << symbol->get_name() << "\n";
> +///   }
> +///

I find this a great API design.  Simple enough to understand, even for a
simple mind like me, not over-engineered.  Thank you for that.

> +/// This uses the filtered_symtab proxy object to capture the filter.
> +class symtab
> +{
> +public:
> +  typedef std::function<bool(const elf_symbol_sptr&)> symbol_predicate;
> +
> +  /// Indicate whether any (kernel) symbols have been seen at construction.
> +  ///
> +  /// @return true if there are symbols detected earlier.
> +  bool
> +  has_symbols() const
> +  { return is_kernel_binary_ ? has_ksymtab_entries_ : !symbols_.empty(); }

Leading/Trailing space.

> +
> +  symtab_filter
> +  make_filter() const;
> +
> +  /// The (only) iterator type we offer is a const_iterator implemented by the
> +  /// symtab_iterator.
> +  typedef symtab_iterator const_iterator;
> +
> +  /// Obtain an iterator to the beginning of the symtab according to the filter
> +  /// criteria. Whenever this iterator advances, it skips elements that do not
> +  /// match the filter criteria.
> +  ///
> +  /// @param filter the symtab_filter to match symbols against
> +  ///
> +  /// @return a filtering const_iterator of the underlying type
> +  const_iterator
> +  begin(const symtab_filter& filter) const
> +  { return symtab_iterator(symbols_.begin(), symbols_.end(), filter); }

Likewise.

> +  /// Obtain an iterator to the end of the symtab.
> +  ///
> +  /// @return an end iterator
> +  const_iterator
> +  end() const
> +  { return symtab_iterator(symbols_.end(), symbols_.end()); }

Likewise.

[...]


> +/// Helper class to allow range-for loops on symtabs for C++11 and later code.
> +/// It serves as a proxy for the symtab iterator and provides a begin() method
> +/// without arguments, as required for range-for loops (and possibly other
> +/// iterator based transformations).
> +///
> +/// Example usage:
> +///
> +///   for (const auto& symbol : filtered_symtab(tab, filter))
> +///     {
> +///       std::cout << symbol->get_name() << "\n";
> +///     }
> +///
> +class filtered_symtab
> +{
> +  const symtab&	      tab_;
> +  const symtab_filter filter_;
> +
> +public:
> +  /// Construct the proxy object keeping references to the underlying symtab
> +  /// and the filter object.
> +  filtered_symtab(const symtab& tab, const symtab_filter& filter)
> +    : tab_(tab), filter_(filter) { }

I'd put the '{}' on the next line, with no space between the two braces.

> +  /// Pass through symtab.begin(), but also pass on the filter.
> +  symtab::const_iterator
> +  begin() const
> +  { return tab_.begin(filter_); }

No trailing/leading space.

> +
> +  /// Pass through symtab.end().
> +  symtab::const_iterator
> +  end() const
> +  { return tab_.end(); }

No trailing/leading space.

> +};
> +
>  } // end namespace symtab_reader
>  } // end namespace abigail

Thank you for this gem!

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 06/20] Integrate new symtab reader into corpus and read_context
  2021-01-27 12:58   ` [PATCH 06/20] Integrate new symtab reader into corpus and read_context Matthias Maennich
@ 2021-03-12 15:04     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-12 15:04 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

> While reading the corpus in the read_context, also load the new type
> symtab object side-by-side and set it accordingly in the resulting
> corpus. This is still side by side and passive code that gets active in
> the following changes. This is applicable for the dwarf reader as well
> as for the reader that consumes XML.

I see, this makes sense.

[...]

> diff --git a/include/abg-fwd.h b/include/abg-fwd.h
> index bb839fe76315..76df1b51dae7 100644
> --- a/include/abg-fwd.h
> +++ b/include/abg-fwd.h
> @@ -1375,6 +1375,14 @@ typedef vector<suppression_sptr> suppressions_type;
>  
>  } // end namespace suppr
>  
> +namespace symtab_reader
> +{
> +
> +class symtab;
> +typedef std::shared_ptr<symtab> symtab_sptr;

We'd need a small comment here so that this shows up well in the API
doc.

[...]

> +++ b/src/abg-corpus.cc
> @@ -23,6 +23,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
>  #include "abg-ir.h"
>  #include "abg-reader.h"
>  #include "abg-sptr-utils.h"
> +#include "abg-symtab-reader.h"
>  #include "abg-tools-utils.h"
>  #include "abg-writer.h"
>  
> @@ -850,6 +851,14 @@ corpus::operator==(const corpus& other) const
>  	  && j == other.get_translation_units().end());
>  }
>  
> +void
> +corpus::set_symtab(symtab_reader::symtab_sptr symtab)
> +{priv_->symtab_ = symtab;}
> +
> +const symtab_reader::symtab_sptr&
> +corpus::get_symtab() const
> +{ return priv_->symtab_; }
> +

Likewise for these two function definitions.

[...]

> --- a/src/abg-dwarf-reader.cc
> +++ b/src/abg-dwarf-reader.cc

[...]

> +  const symtab_reader::symtab_sptr&
> +  symtab() const
> +  {

Likewise.

> +    if (!symtab_)
> +      symtab_ = symtab_reader::symtab::load(
> +	elf_handle(), options_.env, [&](const elf_symbol_sptr& symbol) {
> +	  return is_elf_symbol_suppressed(symbol);
> +	});

Throughout the code, we block braces always go on the new line.  So
let's try to do the same for lambdas, e.g:

  symtab_ =
    symtab_reader::symtab::load
    (elf_handle(), options_.env,
     [&](const elf_symbol_sptr& symbol)
     {
       return is_elf_symbol_suppressed(symbol);
     });

I guess I should update the coding standard guidelines with the case for
lambdas, etc, at some point.

[...]

> diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
> index ffb20a4dec44..ff467d8ad345 100644
> --- a/tests/test-symtab.cc
> +++ b/tests/test-symtab.cc

[...]

> -  REQUIRE(status
> -	  == (dwarf_reader::STATUS_OK
> -	      | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
> +  REQUIRE(
> +    status
> +    == (dwarf_reader::STATUS_OK | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));

I think this change is useless.

>  }
>  

[...]

>
> 	* include/abg-corpus.h (corpus::set_symtab): New method declaration.
> 	  (corpus::get_symtab): New method declaration.
> 	* include/abg-fwd.h (symtab_reader::symtab_sptr): New forward
> 	  declaration.
> 	* src/abg-corpus-priv.h (corpus::priv::symtab_): New data member.
> 	* src/abg-corpus.cc
> 	  (corpus::set_symtab): Likewise.
> 	  (corpus::get_symtab): Likewise.
> 	* src/abg-dwarf-reader.cc (read_context::symtab_): New data member.
> 	  (read_context::initialize): reset symtab_ as well
> 	  (read_context::symtab): new method that loads a symtab on
> 	  first access and returns it.
> 	  (read_debug_info_into_corpus): also set the new symtab object
> 	  on the current corpus.
> 	  (read_corpus_from_elf): Also determine (i.e. load) the new
> 	  symtab object and contribute to the load status.
> 	* src/abg-reader.cc (read_corpus_from_input): also set the new
> 	  type symtab when reading from xml.
> 	* tests/test-symtab.cc: Add test assertions.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

This is OK to go in with the changes stated above and once the previous
patch is applied.

Thanks!

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 07/20] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
  2021-01-27 12:58   ` [PATCH 07/20] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
@ 2021-03-15 10:05     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-15 10:05 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

[...]

> diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
> index 0d5849ddac5d..75f897eb72a8 100644
> --- a/src/abg-corpus.cc
> +++ b/src/abg-corpus.cc

[...]

> -/// Return a sorted vector of function symbols for this corpus.
> -///
> -/// Note that the first time this function is called, the symbols are
> -/// sorted and cached.  Subsequent invocations of this function return
> -/// the cached vector that was built previously.
> -///
> -/// @return the sorted list of function symbols.

Please keep this function comment even if it's redundant.  We need this
for the API doc to be complete.

>  const elf_symbols&
>  corpus::get_sorted_fun_symbols() const

> -{
> -  if (priv_->sorted_fun_symbols.empty()
> -      && !get_fun_symbol_map().empty())
> -    {
> -      priv_->sorted_fun_symbols.reserve(get_fun_symbol_map().size());
> -      for (string_elf_symbols_map_type::const_iterator i =
> -	     get_fun_symbol_map().begin();
> -	   i != get_fun_symbol_map().end();
> -	   ++i)
> -	for (elf_symbols::const_iterator s = i->second.begin();
> -	     s != i->second.end();
> -	     ++s)
> -	  priv_->sorted_fun_symbols.push_back(*s);
> +{ return priv_->get_sorted_fun_symbols(); }

Please remove the leading and trailing white space.

[...]

> -/// Getter for a sorted vector of the function symbols undefined in
> -/// this corpus.
> -///
> -/// @return a vector of the function symbols undefined in this corpus,
> -/// sorted by name and then version.

Likewise.

>  const elf_symbols&
>  corpus::get_sorted_undefined_fun_symbols() const
> -{
> -  if (priv_->sorted_undefined_fun_symbols.empty()
> -      && !get_undefined_fun_symbol_map().empty())
> -    {
> -      priv_->sorted_undefined_fun_symbols.reserve
> -	(get_undefined_fun_symbol_map().size());
> -      for (string_elf_symbols_map_type::const_iterator i =
> -	     get_undefined_fun_symbol_map().begin();
> -	   i != get_undefined_fun_symbol_map().end();
> -	   ++i)
> -	for (elf_symbols::const_iterator s = i->second.begin();
> -	     s != i->second.end();
> -	     ++s)
> -	  priv_->sorted_undefined_fun_symbols.push_back(*s);
> +{ return priv_->get_sorted_undefined_fun_symbols(); }

Likewise.

[...]

> +const elf_symbols&
> +corpus::get_sorted_var_symbols() const

Likewise.

> +{ return priv_->get_sorted_var_symbols(); }

Likewise.

> +const elf_symbols&
> +corpus::get_sorted_undefined_var_symbols() const

Likewise.

> +{ return priv_->get_sorted_undefined_var_symbols(); }

Likewise.

[...]

> Make the corresponding members an implementation detail of corpus::priv.
> They get computed based on the new symtab whenever they are accessed
> first with an atomic instantiation. That simplifies the implementation
> and homogenizes the access to functions and variables. Sorting does not
> need to be done as the symtab already gives a guarantee for that.
>
> Due to improved alias detection in the new symtab reader, ensure we only
> write symbol aliases to ksymtab symbols if having a ksymtab main symbol.
>
> Test data needed to be adjusted as the new symtab reader is stricter in
> regards to symbols listed in ksymtab. I.e. init_module is not an
> exported symbol in the ksymtab of a kernel module.
>
> 	* src/abg-corpus-priv.h (corpus::priv::sorted_var_symbols): make
> 	  private, mutable and optional.
> 	  (corpus::sorted_undefined_var_symbols): Likewise.
> 	  (corpus::sorted_fun_symbols): Likewise.
> 	  (corpus::sorted_undefined_fun_symbols): Likewise.
> 	  (corpus::priv::get_sorted_fun_symbols): New method declaration.
> 	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
> 	  (corpus::priv::get_sorted_var_symbols): Likewise.
> 	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
> 	* src/abg-corpus.cc
> 	  (corpus::elf_symbol_comp_functor): Delete struct.
> 	  (corpus::priv::get_sorted_fun_symbols): New method implementation.
> 	  (corpus::priv::get_sorted_undefined_fun_symbols): Likewise.
> 	  (corpus::priv::get_sorted_var_symbols): Likewise.
> 	  (corpus::priv::get_sorted_undefined_var_symbols): Likewise.
> 	  (corpus::get_sorted_fun_symbols): Proxy call to corpus::priv.
> 	  (corpus::get_sorted_undefined_fun_symbols): Likewise.
> 	  (corpus::get_sorted_var_symbols): Likewise.
> 	  (corpus::get_sorted_undefined_var_symbols): Likewise.
> 	* src/abg-writer.cc (write_elf_symbol_aliases): When emitting
> 	  aliases for a kernel symbol, ensure to only emit exported,
> 	  public aliases.
> 	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: update test
> 	  data.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master with the above changes once the previous patches
have been applied.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 08/20] corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
  2021-01-27 12:58   ` [PATCH 08/20] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
@ 2021-03-15 12:06     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-15 12:06 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

[...]

> diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
> index 75f897eb72a8..f9f51a360707 100644
> --- a/src/abg-corpus.cc
> +++ b/src/abg-corpus.cc

[...]

> +/// Return a list of symbols that are not referenced by any function of
> +/// corpus::get_functions().
> +///
> +/// Note that this function considers the list of function symbols to keep,
> +/// that is provided by corpus::get_sym_ids_of_fns_to_keep(). If a given
> +/// unreferenced function symbol is not in the list of functions to keep, then
> +/// that symbol is dropped and will not be part of the resulting table of
> +/// unreferenced symbol that is built.

Please use the @return tag in this comment.

> +const elf_symbols&
> +corpus::priv::get_unreferenced_function_symbols() const
> +{

[...]

> +/// Return a list of symbols that are not referenced by any variable of
> +/// corpus::get_variables().
> +///
> +/// Note that this function considers the list of variable symbols to keep,
> +/// that is provided by corpus::get_sym_ids_of_vars_to_keep(). If a given
> +/// unreferenced variable symbol is not in the list of variable to keep, then
> +/// that symbol is dropped and will not be part of the resulting table of
> +/// unreferenced symbol that is built.

Likewise.

> +const elf_symbols&
> +corpus::priv::get_unreferenced_variable_symbols() const
> +{

[...]

>  /// Getter of the set of pretty representation of types that are
>  /// reachable from public interfaces (global functions and variables).
>  ///
> @@ -1310,12 +1290,7 @@ corpus::sort_variables()
>  /// function exported by the current corpus.
>  const elf_symbols&
>  corpus::get_unreferenced_function_symbols() const
> -{
> -  if (priv_->unrefed_fun_symbols.empty()
> -      && priv_->unrefed_var_symbols.empty())
> -    priv_->build_unreferenced_symbols_tables();
> -  return priv_->unrefed_fun_symbols;
> -}
> +{ return priv_->get_unreferenced_function_symbols(); }

Please remove leading/trailing spaces after/before the curly brackets.

>  
>  /// Getter of the set of variable symbols that are not referenced by
>  /// any variable exported by the current corpus.
> @@ -1328,12 +1303,7 @@ corpus::get_unreferenced_function_symbols() const
>  /// variable exported by the current corpus.
>  const elf_symbols&
>  corpus::get_unreferenced_variable_symbols() const
> -{
> -    if (priv_->unrefed_fun_symbols.empty()
> -      && priv_->unrefed_var_symbols.empty())
> -    priv_->build_unreferenced_symbols_tables();
> -  return priv_->unrefed_var_symbols;
> -}
> +{ return priv_->get_unreferenced_variable_symbols(); }

[...]

> Make the corresponding members an implementation detail of corpus::priv.
> They get computed based on the new symtab whenever they are accessed
> first with an atomic instantiation. That simplifies the implementation
> and homogenizes the access to functions and variables. Sorting does not
> need to be done as the symtab already gives a guarantee for that.
>
>         * src/abg-corpus-priv.h (corpus::priv::unrefed_var_symbols): make
>           private, mutable and optional.
>           (corpus::unrefed_fun_symbols): Likewise.
>           (corpus::priv::get_unreferenced_function_symbols): New method declaration.
>           (corpus::priv::get_unreferenced_variable_symbols): Likewise.
>         * src/abg-corpus.cc
>           (corpus::priv::build_unreferenced_symbols_tables): Delete method.
>           (corpus::priv::get_unreferenced_function_symbols): New method implementation.
>           (corpus::priv::get_unreferenced_variable_symbols): Likewise.
>           (corpus::get_unreferenced_function_symbols): Proxy call to corpus::priv.
>           (corpus::get_unreferenced_variable_symbols): Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master with the above changes once the previous patches
have been applied.

Thanks!

[...]

cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 09/20] abg-reader: avoid using the (var|function)_symbol_map
  2021-01-27 12:58   ` [PATCH 09/20] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
@ 2021-03-15 14:23     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-15 14:23 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> Instead of using the corpus var|function_symbol_maps for symbol lookups,
> let build_elf_symbol_from_reference use the symtab::lookup_symbol
> method. That leads to a shorter implementation and we can drop the
> indicative parameter.
>
> 	* src/abg-reader.cc (build_elf_symbol_from_reference): drop
> 	  last parameter indicating the lookup type and use corpus
> 	  symtab for the lookup
> 	  (build_function_decl): Adjust accordingly.
> 	  (build_var_decl): Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master once the pre-requisite patches are in.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 10/20] dwarf-reader: read_context: use new symtab in *_symbols_is_exported
  2021-01-27 12:58   ` [PATCH 10/20] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
@ 2021-03-15 18:13     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-15 18:13 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> Testing whether a symbol is exported can be simplified using the new
> symtab implementation. The same holds true for whether a symbol is
> exported via ksymtab in case of linux kernel binaries. So, do that.
>
> 	* src/abg-dwarf-reader.cc (function_symbol_is_exported): Use new
> 	  symtab implementation.
> 	  (variable_symbol_is_exported): Likewise.

Note that just applying this patch regressed tests/runtestreaddwarf,
especially while reading the binary
data/test-read-dwarf/test-libandroid.so, which is an ARM32 binary.

This is because for this patch to work, it needs to adaptation of this
patch:

    commit 32c7829e4156666e1975329fb1b3201c43b5f84f
    Author: Giuliano Procida <gprocida@google.com>
    Date:   Tue Mar 9 22:57:54 2021 +0000

        DWARF reader: Interpret ARM32 ELF addresses correctly

        Bug 27552 - libabigail needs to interpret ARM32 symbol addresses specially

        The ARM32 ELF specification specifies that bit 0 of an ELF function
        address is a flag specifying whether the instructions are Thumb or
        ARM. So clear this bit before using the addresses for symbol mapping.

                * src/abg-dwarf-reader.cc
                (read_context::load_symbol_maps_from_symtab_section): Clear
                bit zero of ARM32 function addresses.
                * src/abg-elf-helpers.cc (architecture_is_arm32): Add new
                function.
                * src/abg-elf-helpers.h (architecture_is_arm32): Likewise.
                * tests/data/test-read-dwarf/test-libandroid.so.abi: Update.

By adaptation, I mean that the the bit 0 of the ELF function address
must be cleared in symtab::load in the abg-symtab-reader.cc file as well.

> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master once the previous patches, including a patch doing
the above, are applied.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 11/20] Switch kernel stuff over to new symtab and drop unused code
  2021-01-27 12:58   ` [PATCH 11/20] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
@ 2021-03-16 10:38     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-16 10:38 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> Now that the new symtab implementation is capable of reading the
> ksymtab, we can switch over the implementation to gather information
> from there and delete all now-obsolete code.
>
> 	* src/abg-dwarf-reader.cc (read_context::ksymtab_format_): Delete.
> 	(read_context::ksymtab_entry_size_): Likewise.
> 	(read_context::nb_ksymtab_entries_): Likewise.
> 	(read_context::nb_ksymtab_gpl_entries_): Likewise.
> 	(read_context::ksymtab_section_): Likewise.
> 	(read_context::ksymtab_reloc_section_): Likewise.
> 	(read_context::ksymtab_gpl_section_): Likewise.
> 	(read_context::ksymtab_gpl_reloc_section_): Likewise.
> 	(read_context::ksymtab_strings_section_): Likewise.
> 	(read_context::linux_exported_fn_syms): Likewise.
> 	(read_context::linux_exported_var_syms): Likewise.
> 	(read_context::linux_exported_gpl_fn_syms): Likewise.
> 	(read_context::linux_exported_gpl_var_syms): Likewise.
> 	(read_context::initialize): Remove initializations accordingly.
> 	(read_context::find_ksymtab_section): Delete.
> 	(read_context::find_ksymtab_gpl_section): Likewise.
> 	(read_context::find_ksymtab_reloc_section): Likewise.
> 	(read_context::find_ksymtab_gpl_reloc_section): Likewise.
> 	(read_context::find_ksymtab_strings_section): Likewise.
> 	(read_context::find_any_ksymtab_section): Likewise.
> 	(read_context::find_any_ksymtab_reloc_section): Likewise.
> 	(read_context::lookup_elf_symbol_from_index): Adjust.
> 	(read_context::linux_exported_fn_syms): Delete.
> 	(read_context::create_or_get_linux_exported_fn_syms): Likewise.
> 	(read_context::linux_exported_var_syms): Likewise.
> 	(read_context::create_or_get_linux_exported_var_syms): Likewise.
> 	(read_context::linux_exported_gpl_fn_syms): Delete.
> 	(read_context::create_or_get_linux_exported_gpl_fn_syms): Likewise.
> 	(read_context::linux_exported_gpl_var_syms): Likewise.
> 	(read_context::create_or_get_linux_exported_gpl_var_syms): Likewise.
> 	(read_context::try_reading_first_ksymtab_entry): Likewise.
> 	(read_context::try_reading_first_ksymtab_entry_using_pre_v4_19_format): Likewise.
> 	(read_context::try_reading_first_ksymtab_entry_using_v4_19_format): Likewise.
> 	(read_context::get_ksymtab_format_module): Likewise.
> 	(read_context::get_ksymtab_format): Likewise.
> 	(read_context::get_ksymtab_symbol_value_size): Likewise.
> 	(read_context::get_ksymtab_entry_size): Likewise.
> 	(read_context::get_nb_ksymtab_entries): Likewise.
> 	(read_context::get_nb_ksymtab_gpl_entries): Likewise.
> 	(read_context::populate_symbol_map_from_ksymtab): Likewise.
> 	(read_context::populate_symbol_map_from_ksymtab_reloc): Likewise.
> 	(read_context::load_kernel_symbol_table): Likewise.
> 	(read_context::load_ksymtab_symbols): Likewise.
> 	(read_context::load_ksymtab_gpl_symbols): Likewise.
> 	(read_context::load_linux_specific_exported_symbol_maps): Likewise.
> 	(read_context::load_symbol_maps): Do not load kernel symbol maps.
> 	(read_context::maybe_adjust_sym_address_from_v4_19_ksymtab): Delete.
> 	(read_context::add_fn_symbols_to_map): Likewise.
> 	(read_context::add_var_symbols_to_map): Likewise.
> 	(read_context::read_debug_info_into_corpus): Fill export maps
> 	from new symtab.
> 	(read_context::lookup_elf_fn_symbol_from_address): Delete.
> 	(read_context::lookup_elf_var_symbol_from_address): Likewise.
> 	(read_context::lookup_elf_symbol_from_address): Likewise.
> 	(read_context::lookup_public_function_symbol_from_elf): Likewise.
> 	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
> 	(read_context::fun_entry_addr_sym_map): Likewise.
> 	(read_context::var_addr_sym_map): Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master once the prerequisite patches are in.

Thanks!

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 12/20] abg-elf-helpers: migrate ppc64 specific helpers
  2021-01-27 12:58   ` [PATCH 12/20] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
@ 2021-03-16 10:59     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-16 10:59 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

[...]

> diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
> index 693fae82040e..b2a7144afe9d 100644
> --- a/src/abg-dwarf-reader.cc
> +++ b/src/abg-dwarf-reader.cc

[...]

>    /// Test if a given function symbol has been exported.
>    ///
>    /// @param symbol_address the address of the symbol we are looking
> @@ -5890,13 +5726,15 @@ public:
>  		      // symbol that are in the .opd section.
>  		      GElf_Addr fn_desc_addr = sym->st_value;
>  		      GElf_Addr fn_entry_point_addr =
> -			lookup_ppc64_elf_fn_entry_point_address(fn_desc_addr);
> +			  lookup_ppc64_elf_fn_entry_point_address(
> +			      elf_handle(), fn_desc_addr);

Please put the opening parenthesis of the function call on the new line.

[...]

> 	* src/abg-dwarf-reader.cc (read_context::opd_section_): Delete.
> 	(read_context::find_opd_section): Delete.
> 	(read_context::read_uint64_from_array_of_bytes): Delete.
> 	(read_context::read_int_from_array_of_bytes): Delete.
> 	(read_context::lookup_ppc64_elf_fn_entry_point_address): Delete.
> 	(read_context::address_is_in_opd_section): Delete.
> 	(read_context::address_is_in_section): Delete.
> 	(read_context::load_symbol_maps_from_symtab_section): Adjust.
> 	* src/abg-elf-helpers.cc (read_int_from_array_of_bytes): New.
> 	(read_uint64_from_array_of_bytes): New.
> 	(lookup_ppc64_elf_fn_entry_point_address): New.
> 	(address_is_in_section): New.
> 	(address_is_in_opd_section): New.
> 	* src/abg-elf-helpers.h
> 	(lookup_ppc64_elf_fn_entry_point_address): New declaration.
> 	(address_is_in_opd_section): New declaration.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master with the above change once the prerequisite
patches are applied.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 13/20] symtab_reader: add support for ppc64 ELFv1 binaries
  2021-01-27 12:58   ` [PATCH 13/20] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
@ 2021-03-16 11:39     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-16 11:39 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

[...]

> diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
> index 4576be2a0b42..7318fdfce52e 100644
> --- a/src/abg-symtab-reader.cc
> +++ b/src/abg-symtab-reader.cc
> @@ -100,9 +100,15 @@ const elf_symbol_sptr&
>  symtab::lookup_symbol(GElf_Addr symbol_addr) const
>  {
>    static const elf_symbol_sptr empty_result;
> -  const auto it = addr_symbol_map_.find(symbol_addr);
> -  if (it != addr_symbol_map_.end())
> -      return it->second;
> +  const auto addr_it = addr_symbol_map_.find(symbol_addr);
> +  if (addr_it != addr_symbol_map_.end())
> +    return addr_it->second;
> +  else
> +    {

Please add a comment here saying that this case is about the function
entry addresses that are relevant for PPC ELFv1.

> +      const auto entry_it = entry_addr_symbol_map_.find(symbol_addr);
> +      if (entry_it != entry_addr_symbol_map_.end())
> +	return entry_it->second;
> +    }
>    return empty_result;
>  }

[...]

> +void

Please add a comment for this function so that the API doc is complete.

> +symtab::update_function_entry_address_symbol_map(
> +    Elf*		   elf_handle,
Please move this first function parameter to the same line as the
opening parenthesis and align the other parameters accordingly.

> +    GElf_Sym*		   native_symbol,
> +    const elf_symbol_sptr& symbol_sptr)
> +{
> +

[...]


> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master with the above changes once the prerequisite
patches have been applied.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 14/20] abg-corpus: remove symbol maps and their setters
  2021-01-27 12:58   ` [PATCH 14/20] abg-corpus: remove symbol maps and their setters Matthias Maennich
@ 2021-03-16 18:08     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-16 18:08 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

[...]

> diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
> index f9f51a360707..94615bc727ff 100644
> --- a/src/abg-corpus.cc
> +++ b/src/abg-corpus.cc
> @@ -331,6 +331,18 @@ corpus::priv::get_sorted_fun_symbols() const
>    return *sorted_fun_symbols;
>  }
>  
> +const string_elf_symbols_map_type&
> +corpus::priv::get_fun_symbol_map() const

Please add a comment for this function.

> +{
> +  if (!fun_symbol_map)
> +    {
> +      fun_symbol_map = string_elf_symbols_map_type();
> +      for (const auto& symbol : get_sorted_fun_symbols())
> +	(*fun_symbol_map)[symbol->get_name()].push_back(symbol);
> +    }
> +  return *fun_symbol_map;
> +}
> +

[...]


> +const string_elf_symbols_map_type&
> +corpus::priv::get_undefined_fun_symbol_map() const

Likewise.

> +{
> +  if (!undefined_fun_symbol_map)
> +    {
> +      undefined_fun_symbol_map = string_elf_symbols_map_type();
> +      for (const auto& symbol : get_sorted_undefined_fun_symbols())
> +	(*undefined_fun_symbol_map)[symbol->get_name()].push_back(symbol);
> +    }
> +  return *undefined_fun_symbol_map;
> +}
> +
>  /// Return a list of symbols that are not referenced by any function of
>  /// corpus::get_functions().
>  ///
> @@ -425,6 +449,18 @@ corpus::priv::get_sorted_var_symbols() const
>    return *sorted_var_symbols;
>  }
>  
> +const string_elf_symbols_map_type&
> +corpus::priv::get_var_symbol_map() const

Likewise.

> +{
> +  if (!var_symbol_map)
> +    {
> +      var_symbol_map = string_elf_symbols_map_type();
> +      for (const auto& symbol : get_sorted_var_symbols())
> +	(*var_symbol_map)[symbol->get_name()].push_back(symbol);
> +    }
> +  return *var_symbol_map;
> +}
> +
>  /// Getter for a sorted vector of the variable symbols undefined in
>  /// this corpus.
>  ///
> @@ -446,6 +482,18 @@ corpus::priv::get_sorted_undefined_var_symbols() const
>    return *sorted_undefined_var_symbols;
>  }
>  
> +const string_elf_symbols_map_type&
> +corpus::priv::get_undefined_var_symbol_map() const

Likewise.

> +{
> +  if (!undefined_var_symbol_map)
> +    {
> +      undefined_var_symbol_map = string_elf_symbols_map_type();
> +      for (const auto& symbol : get_sorted_undefined_var_symbols())
> +	(*undefined_var_symbol_map)[symbol->get_name()].push_back(symbol);
> +    }
> +  return *undefined_var_symbol_map;
> +}
> +

[...]

> With the prework in previous commits, we are now able to drop the
> public symbols maps in corpus::priv and replace them by private members
> with access through getters. The getters use the new symtab
> implementation to generate the maps on the fly. Setters are not required
> anymore and are removed. Also remove redundant getters.
>
> We could also remove the getters for the symbol maps and the local
> caching variable and leave it all to lookup_symbol, but this is left for
> a later change.
>
> 	* include/abg-corpus.h (corpus::set_fun_symbol_map): Remove
> 	method declaration.
> 	(corpus::set_undefined_fun_symbol_map): Likewise.
> 	(corpus::set_var_symbol_map): Likewise.
> 	(corpus::set_undefined_var_symbol_map): Likewise.
> 	(corpus::get_fun_symbol_map_sptr): Likewise.
> 	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
> 	(corpus::get_var_symbol_map_sptr): Likewise.
> 	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
> 	* src/abg-corpus-priv.h (corpus::priv::var_symbol_map): make
> 	private and mutable
> 	(corpus::priv::undefined_var_symbol_map): Likewise.
> 	(corpus::priv::fun_symbol_map): Likewise.
> 	(corpus::priv::undefined_fun_symbol_map): Likewise.
> 	(corpus::priv::get_fun_symbol_map): New method declaration.
> 	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
> 	(corpus::priv::get_var_symbol_map): Likewise.
> 	(corpus::priv::get_undefined_var_symbol_map): Likewise.
> 	* src/abg-corpus.cc (corpus::priv::get_fun_symbol_map): New
> 	method implementation.
> 	(corpus::priv::get_undefined_fun_symbol_map): Likewise.
> 	(corpus::priv::get_var_symbol_map): Likewise.
> 	(corpus::priv::get_undefined_var_symbol_map): Likewise.
> 	(corpus::is_empty): depend on symtab only.
> 	(corpus::set_fun_symbol_map): Remove method.
> 	(corpus::set_undefined_fun_symbol_map): Likewise.
> 	(corpus::set_var_symbol_map): Likewise.
> 	(corpus::set_undefined_var_symbol_map): Likewise.
> 	(corpus::get_fun_symbol_map_sptr): Likewise.
> 	(corpus::get_undefined_fun_symbol_map_sptr): Likewise.
> 	(corpus::get_var_symbol_map_sptr): Likewise.
> 	(corpus::get_undefined_var_symbol_map_sptr): Likewise.
> 	(corpus::get_fun_symbol_map): Use corpus::priv proxy method.
> 	(corpus::get_undefined_fun_symbol_map): Likewise.
> 	(corpus::get_var_symbol_map): Likewise.
> 	(corpus::get_undefined_var_symbol_map): Likewise.
> 	* src/abg-dwarf-reader.cc (read_debug_info_into_corpus): Do not
> 	set corpus symbol maps anymore.
> 	* src/abg-reader.cc (read_corpus_from_input): Likewise.
> 	* tests/test-symtab.cc (assert_symbol_count): Do not access the
> 	corpus symbol maps through sptr anymore.
> 	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust
> 	expected test output.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master with the changes above once the prerequisite
patches have been applied.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 15/20] dwarf reader: drop (now) unused code related to symbol table reading
  2021-01-27 12:58   ` [PATCH 15/20] dwarf reader: drop (now) unused code related to symbol table reading Matthias Maennich
@ 2021-03-16 18:42     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-16 18:42 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

[...]

> diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
> index 6d4e8ae23c53..91451208ef11 100644
> --- a/src/abg-dwarf-reader.cc
> +++ b/src/abg-dwarf-reader.cc

[...]

>  /// Build a @ref var_decl out of a DW_TAG_variable DIE.
>  ///
>  /// @param ctxt the read context to use.
> @@ -14065,23 +13417,9 @@ build_var_decl(read_context&	ctxt,
>    if (!result->get_symbol())
>      {
>        elf_symbol_sptr var_sym;
> -      if (get_ignore_symbol_table(ctxt))
> -	{
> -	  string var_name =
> -	    result->get_linkage_name().empty()
> -	    ? result->get_name()
> -	    : result->get_linkage_name();
> -
> -	  var_sym = create_default_var_sym(var_name, ctxt.env());
> -	  ABG_ASSERT(var_sym);
> -	  add_symbol_to_map(var_sym, ctxt.var_syms());
> -	}
> -      else
> -	{
> -	  Dwarf_Addr var_addr;
> -	  if (ctxt.get_variable_address(die, var_addr))
> -	    var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
> -	}
> +      Dwarf_Addr      var_addr;
> +      if (ctxt.get_variable_address(die, var_addr))
> +	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);

It looks like there is one 'var_sym =' too many.

>  
>        if (var_sym)
>  	{

[...]

> The introduction of the new symtab reader incorporated much of the
> existing functionality. Now that the most code parts are migrated to the
> new symtab reader, we can safely remove the old code paths.
>
> Ignoring the symbol table is not a thing anymore. The new symtab reader
> does read the symtab unconditionally for consistency reasons. Hence also
> remove all functionality around conditional symtab reading.
>
> 	* include/abg-dwarf-reader.h (set_ignore_symbol_table): Remove.
> 	(get_ignore_symbol_table): Likewise.
> 	* src/abg-dwarf-reader.cc (add_symbol_to_map): Likewise.
> 	(read_context::options_type::ignore_symbol_table): Likewise.
> 	(read_context::options_type): Adjust.
> 	(read_context::fun_addr_sym_map_): Remove.
> 	(read_context::fun_entry_addr_sym_map_): Likewise.
> 	(read_context::fun_syms_): Likewise.
> 	(read_context::var_addr_sym_map_): Likewise.
> 	(read_context::var_syms_): Likewise.
> 	(read_context::undefined_fun_syms_): Likewise.
> 	(read_context::undefined_var_syms_): Likewise.
> 	(read_context::initialize): Adjust.
> 	(read_context::lookup_elf_symbol_from_index): Remove.
> 	(read_context::fun_entry_addr_sym_map_sptr): Likewise.
> 	(read_context::fun_entry_addr_sym_map): Likewise.
> 	(read_context::fun_syms_sptr): Likewise.
> 	(read_context::fun_syms): Likewise.
> 	(read_context::var_syms_sptr): Likewise.
> 	(read_context::var_syms): Likewise.
> 	(read_context::undefined_fun_syms_sptr): Likewise.
> 	(read_context::undefined_var_syms_sptr): Likewise.
> 	(read_context::load_symbol_maps_from_symtab_section): Likewise.
> 	(read_context::load_symbol_maps): Likewise.
> 	(read_context::maybe_load_symbol_maps): Likewise.
> 	(set_ignore_symbol_table): Likewise.
> 	(get_ignore_symbol_table): Likewise.
> 	(create_default_var_sym): Likewise.
> 	(build_var_decl): Adjust.
> 	(function_is_suppressed): Likewise.
> 	(variable_is_suppressed): Likewise.
> 	(build_function_decl): Likewise.
> 	(add_symbol_to_map): Remove.
> 	(read_corpus_from_elf): Adjust.
> 	(build_corpus_group_from_kernel_dist_under): Likewise.
> 	* tools/abidw.cc (main): Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master with the above change once the prerequisite
patches have been applied.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 16/20] test-symtab: add tests for whitelisted functions
  2021-01-27 12:58   ` [PATCH 16/20] test-symtab: add tests for whitelisted functions Matthias Maennich
@ 2021-03-17 11:07     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-17 11:07 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

> diff --git a/tests/test-symtab.cc b/tests/test-symtab.cc
> index 2df766de1c5c..ac853e895fef 100644
> --- a/tests/test-symtab.cc
> +++ b/tests/test-symtab.cc
> @@ -11,11 +11,14 @@
>  
>  #include <iostream>
>  #include <limits>
> +#include <string>
>  #include <vector>
>  
>  #include "abg-corpus.h"
>  #include "abg-dwarf-reader.h"
> +#include "abg-fwd.h"
>  #include "abg-ir.h"
> +#include "abg-tools-utils.h"
>  #include "lib/catch.hpp"
>  #include "test-utils.h"
>  
> @@ -26,12 +29,16 @@ using dwarf_reader::read_context_sptr;
>  using dwarf_reader::read_corpus_from_elf;
>  using ir::environment;
>  using ir::environment_sptr;
> +using suppr::suppressions_type;
>  
>  static const std::string test_data_dir =
>      std::string(abigail::tests::get_src_dir()) + "/tests/data/test-symtab/";
>  
>  dwarf_reader::status
> -read_corpus(const std::string path, corpus_sptr& result)
> +read_corpus(
> +  const std::string&		  path,
> +  corpus_sptr&			  result,
> +  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())

Please keep the open parenthesis of the on the same line as at least one
parameter.

There are also several other functions indented like this in the file,
it would be good to fix them too.

>  {
>    const std::string& absolute_path = test_data_dir + path;
>  
> @@ -41,6 +48,15 @@ read_corpus(const std::string path, corpus_sptr& result)
>        absolute_path, debug_info_root_paths, env.get(),
>        /* load_all_type = */ true, /* linux_kernel_mode = */ true);
>  
> +  if (!whitelist_paths.empty())
> +    {
> +      const suppressions_type& wl_suppr =
> +	tools_utils::gen_suppr_spec_from_kernel_abi_whitelists(
> +	  whitelist_paths);
> +      REQUIRE_FALSE(wl_suppr.empty());
> +      dwarf_reader::add_read_context_suppressions(*ctxt, wl_suppr);
> +    }
> +
>    dwarf_reader::status status = dwarf_reader::STATUS_UNKNOWN;
>    result = read_corpus_from_elf(*ctxt, status);
>  
> @@ -76,14 +92,17 @@ TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
>  #define N std::numeric_limits<size_t>::max()
>  
>  corpus_sptr
> -assert_symbol_count(const std::string& path,
> -		    size_t	       function_symbols = 0,
> -		    size_t	       variable_symbols = 0,
> -		    size_t	       undefined_function_symbols = 0,
> -		    size_t	       undefined_variable_symbols = 0)
> +assert_symbol_count(
> +  const std::string&		  path,
> +  size_t			  function_symbols = 0,
> +  size_t			  variable_symbols = 0,
> +  size_t			  undefined_function_symbols = 0,
> +  size_t			  undefined_variable_symbols = 0,
> +  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())

Likewise.

>  {
>    corpus_sptr		     corpus_ptr;
> -  const dwarf_reader::status status = read_corpus(path, corpus_ptr);
> +  const dwarf_reader::status status =
> +    read_corpus(path, corpus_ptr, whitelist_paths);
>    REQUIRE(corpus_ptr);
>  
>    REQUIRE((status & dwarf_reader::STATUS_OK));
> @@ -188,6 +207,76 @@ TEST_CASE("Symtab::SimpleSymtabs", "[symtab, basic]")
>    }
>  }

[...]

> Extend the test functionality in test-symtab to allow processing of KMI
> whitelists and add additional test cases for whitelist handling.
>
> 	* tests/data/Makefile.am: add new test files
> 	* tests/data/test-symtab/basic/one_function_one_variable_all.whitelist: New test file,
> 	* tests/data/test-symtab/basic/one_function_one_variable_function.whitelist: Likewise.
> 	* tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist: Likewise.
> 	* tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist: Likewise.
> 	* tests/test-symtab.cc (read_corpus): Add support for whitelists.
> 	(assert_symbol_count): Likewise.
> 	(Symtab::SymtabWithWhitelist): New testcase.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master with the changes above after the prerequisite
patches are in.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 17/20] symtab/dwarf-reader: allow hinting of main symbols for aliases
  2021-01-27 12:58   ` [PATCH 17/20] symtab/dwarf-reader: allow hinting of main symbols for aliases Matthias Maennich
@ 2021-03-17 13:40     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-17 13:40 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> In case of aliased symbols, the "main symbol" cannot be deduced from
> the symtab as this solely contains a name->addr mapping and aliases
> are represented by multiple names resolving to the same address.
> Therefore the main symbol can only be picked rather randomly and
> unpredictable.
>
> Unlike DWARF, which contains a single symbol entry for only the main
> symbol. Hence we can (late) detect the main symbol. Exploiting that
> property allows to correct the addr->symbol lookup in the symtab to
> return the correct main symbol and it also allows to correct the aliased
> symbols to maintain the correct main symbol.
>
> This patch adds the `update_main_symbol` functionality to `elf_symbol`
> to update the main symbol by name (ELF symbols need unique names) and
> adds `update_main_symbol` to `symtab` that makes use of said new method.
>
> When we discover a main symbol during DWARF reading, we instruct the
> symtab to update the mapping.
>
> This creates consistent representations across different builds of the
> same binary with the same ABI by pinning down the main symbol to the
> defined one. Knowing the main symbol also helps to keep the correct
> dwarf information in the representation in the presence of symbol
> suppressions. A later patch will address that.
>
> Some test cases in tests/data need adjustment and they have all been
> verified to be valid changes.
>
> - main symbol changed for various elf symbols
>   - test-annotate/test15-pr18892.so.abi
>   - test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
>   - test-annotate/test3.so.abi
>   - test-read-dwarf/test15-pr18892.so.abi
>   - test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
>   - test-read-dwarf/test3.so.abi
>   - test-read-dwarf/test3.so.hash.abi
>
> - due to main symbol changes, the symbol diff needs to be corrected
>   - test-diff-dwarf/test12-report.txt
>   - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
>   - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
>
> - the test scenario needed adjustments as the main symbol changed
>   - test-diff-suppr/test23-alias-filter-4.suppr
>   - test-diff-suppr/test23-alias-filter-report-0.txt
>   - test-diff-suppr/test23-alias-filter-report-2.txt
>
> As usual, the complete changelog follows.

The patch itself looks good to me.

However, the part that update the tests won't apply anymore given the
cheer amount of changes that happen since the submission of this
patchset.

So I think you'll need to refresh them before being able to apply this
one.

>
> 	* include/abg-ir.h (elf_symbol::update_main_symbol): New method.
> 	* include/abg-symtab-reader.h (symtab::update_main_symbol): New method.
> 	* src/abg-dwarf-reader.cc
> 	(build_var_decl): Hint symtab about main symbol discovered in DWARF.
> 	(build_function_decl): Likewise.
> 	* src/abg-ir.cc (elf_symbol::get_main_symbol): Lock the weak_ptr
> 	  on access in both overloads.
> 	(update_main_symbol): New method to allow updating the main symbol.
> 	* src/abg-symtab-reader.cc (symtab::update_main_symbol): New method.
> 	* data/Makefile.am: Add new test data files.
> 	* tests/data/test-annotate/test15-pr18892.so.abi: Updated test file.
> 	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
> 	* tests/data/test-annotate/test2.so.abi: Likewise.
> 	* tests/data/test-annotate/test3.so.abi: Likewise.
> 	* tests/data/test-diff-dwarf/test12-report.txt: Likewise.
> 	* tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Likewise.
> 	* tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise.
> 	* tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Likewise.
> 	* tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: Likewise.
> 	* tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: Likewise.
> 	* tests/data/test-diff-suppr/test23-alias-filter-4.suppr: Likewise.
> 	* tests/data/test-diff-suppr/test23-alias-filter-report-0.txt: Likewise.
> 	* tests/data/test-diff-suppr/test23-alias-filter-report-2.txt: Likewise.
> 	* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test2.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
> 	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test3.so.abi: Likewise.
> 	* tests/data/test-read-dwarf/test3.so.hash.abi: Likewise.
> 	* tests/data/test-symtab/basic/aliases.c: New test source file.
> 	* tests/data/test-symtab/basic/aliases.so: Likewise.
> 	* tests/test-symtab.cc (Symtab::AliasedFunctionSymbols): New test case.
> 	(Symtab::AliasedVariableSymbols): Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master after refreshing the test updates.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 18/20] dwarf-reader/writer: consider aliases when dealing with suppressions
  2021-01-27 12:58   ` [PATCH 18/20] dwarf-reader/writer: consider aliases when dealing with suppressions Matthias Maennich
@ 2021-03-17 15:44     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-17 15:44 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> When a symbol is suppressed and it happens to be the main symbol of a
> group of aliased symbols where another symbol is not suppressed, the
> dwarf reader discards the DWARF information upon reading and the writer
> will not be able to connect dwarf information to the aliased elf symbol.

I think I understand what you mean here, but I'd rather say it this way
for the sake of avoiding confusion:

    When the symbol of a decl is suppressed and it happens to be the main
    symbol of a group of aliased symbols where another symbol is not
    suppressed, the dwarf reader discards the decl from the internal
    representation altogether upon reading and thus the writer will not be
    able to connect that decl to the non-suppressed aliased elf symbol.


To me, once the IR is built, there is more DWARF involved.  So the
writer doesn't deal with any DWARF anymore.  It deals with the IR.
Where that IR comes from is another matter.  It can come from DWARF,
abixml or maybe something else in the future.  That's why it can be
confusing.

OK, I am nit picking a little bit, but I think it's important to make
this clear.

> In order to address this, ensure we are not suppressing symbols
> (actually functions and variables) for which an alias is not suppressed.

Right, so you felt the need to talk about decls (functions and variable)
as well ;-) So how about saying:

    In order to address this, ensure we are not suppressing decls for
    which an alias is not suppressed.

> We therefore keep the DWARF information even if only a non-main symbol
> is asked for.


    We therefore keep the decl in the IR when at least one its underlying
    aliased symbols is non-suppressed.

> Likewise, when the abg-writer is having to attach an elf-symbol-id to
> the DWARF collected information (for functions and variables), 

    Likewise, when the abg-writer is having to attach an elf-symbol-id
    to the decl,

> instead of omitting the symbol altogether, rather make use of the property of
> aliases and connect the dwarf information to an alias instead. This way
> the function dwarf information stays connected to the elf symbol that we
> want to track.
>
> When reading from XML with a symbol whitelist that leads to suppression
> of aliased symbols, abidiff would hit an assertion and crash when
> looking up the aliased symbol due to it being suppressed. In the new
> symtab reader we can still suppress a symbol without removing it from
> the lookup. Make use of that property to fix this bug.
>
> A test has been added for this as well.
>
> 	* src/abg-dwarf-reader.cc(function_is_suppressed): Do not suppress
> 	  a function for which there is an alias that is not suppressed.
> 	(variable_is_suppressed): Likewise for variables.
> 	* src/abg-reader.cc (build_elf_symbol): Improve handling of
> 	suppressed aliased symbols when reading from XML.
> 	* src/abg-symtab-reader.cc (load): Likewise.
> 	* src/abg-writer.cc(write_elf_symbol_reference): Fall back to
> 	  any aliased symbol if the main symbol is suppressed.
> 	* tests/data/Makefile.am: Add new test files.
> 	* tests/data/test-abidiff-exit/test-missing-alias-report.txt: New test file.
> 	* tests/data/test-abidiff-exit/test-missing-alias.abi: Likewise.
> 	* tests/data/test-abidiff-exit/test-missing-alias.suppr: Likewise.
> 	* tests/test-abidiff-exit.cc: Add support for whitelists and add
> 	new testcase.
> 	* tests/data/test-read-dwarf/test-suppressed-alias.c: New test file.
> 	* tests/data/test-read-dwarf/test-suppressed-alias.o: Likewise.
> 	* tests/data/test-read-dwarf/test-suppressed-alias.o.abi: Likewise.
> 	* tests/data/test-read-dwarf/test-suppressed-alias.suppr: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-1.suppr: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-2.suppr: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-3.suppr: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise.
> 	* tests/data/test-read-dwarf/test3-alias-4.suppr: Likewise.
> 	* tests/test-read-dwarf.cc: Add new test cases.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply master with those commit log changes when the prerequisite
patches are in.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 19/20] abg-writer.cc: fix write_elf_symbol_reference loop
  2021-01-27 12:58   ` [PATCH 19/20] abg-writer.cc: fix write_elf_symbol_reference loop Matthias Maennich
@ 2021-03-17 16:11     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-17 16:11 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> From: Giuliano Procida <gprocida@google.com>
>
> The function write_elf_symbol_reference iterates through aliases,
> looking for an unsuppressed alias to use. The existing code went wrong
> in the case when aliases are present. In the case of all symbols
> suppressed, it would also have selected the last alias, rather than
> the first, if the data structure invariants had matched the code's
> expectations.
>
> The main symbol is always distinguished. When aliases are absent, the
> sole symbol's next pointer is null, but when aliases are present, they
> form a circular list. This makes traversal of aliases a bit tricky.
>
> The code now picks the first symbol from the following:
>
> - the given symbol, if unsuppressed
> - the main symbol, if unsuppressed
> - the unsuppressed aliases in the remainder of the alias chain
> - the main symbol (suppressed)
>
> The given symbol, which need not be the same as the main symbol, will
> be tested twice, if suppressed, but addressing this would make the
> code even more elaborate and fragile.
>
> The last case may be unreachable if symbol suppression triggers when
> all aliases are suppressed.
>
> I left this change stand-alone for easier review and to credit Giuliano for his
> work on it, though it fixes a previous commit.
>
> 	* src/abg-writer.cc (write_elf_symbol_reference): Check main
> 	symbol and aliases with more care.
>
> Fixes: commmit ("dwarf-reader/writer: consider aliases when dealing with suppressions")
> Signed-off-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master when the prerequisite patches are in.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums)
  2021-01-27 12:58   ` [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
@ 2021-03-17 17:13     ` Dodji Seketeli
  2021-03-17 23:29       ` Giuliano Procida
  2021-03-19 18:15     ` Dodji Seketeli
  1 sibling, 1 reply; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-17 17:13 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> The Linux Kernel has a mechanism (MODVERSIONS) to checksum symbols based
> on their type. In a way similar to what libabigail does, but different.
> The CRC values for symbols can be extracted from the symtab either by
> following the __kcrctab_<symbol> entry or by using the __crc_<symbol>
> value directly.
>
> This patch adds support for extracting those CRC values and storing them
> as a property of elf_symbol. Subsequently, 'crc' gets emitted as an
> attribute of 'elf-symbol' in the XML representation.

This is pretty cool btw.

Personally, I would have tied the CRC to the decl instead of the ELF
symbol.  I know in the kernel land, symbols and decls are usually
thought of interchangeably but conceptually, they are not the same
thing.

The linux kernel CRCs are computed from the types of the declarations
that are associated to the ELF symbol.  I am talking about the genksyms
machinery.  Se we are really talking about the declarations and types
here.  They are storing in ELF because there is no concept of decls and
types in ELF.  But we do have that in libabigail.  So I really think it
makes more sense to have this tied to decls instead of ELF symbols.

If tomorrow we build or get a hash for decls and types we'll have to
re-do this again, at the decl level.

As a matter of fact, the feature already exists for type units in DWARF
for instance.  We just don't support that yet.  But we might have to
support it in the future.

So the more I think about this, the more I think we should add an
"artifact_hash" property to type_or_decl_base instead of putting this
into the ELF symbol.

What do you think?

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums)
  2021-03-17 17:13     ` Dodji Seketeli
@ 2021-03-17 23:29       ` Giuliano Procida
  2021-03-18 22:10         ` Matthias Maennich
  0 siblings, 1 reply; 91+ messages in thread
From: Giuliano Procida @ 2021-03-17 23:29 UTC (permalink / raw)
  To: Dodji Seketeli
  Cc: Matthias Maennich, Giuliano Procida via Libabigail, kernel-team

Hi Dodji.

Not sure if Matthias would say exactly the same things.

On Wed, 17 Mar 2021 at 17:13, Dodji Seketeli <dodji@seketeli.org> wrote:

> Matthias Maennich <maennich@google.com> a écrit:
>
> > The Linux Kernel has a mechanism (MODVERSIONS) to checksum symbols based
> > on their type. In a way similar to what libabigail does, but different.
> > The CRC values for symbols can be extracted from the symtab either by
> > following the __kcrctab_<symbol> entry or by using the __crc_<symbol>
> > value directly.
> >
> > This patch adds support for extracting those CRC values and storing them
> > as a property of elf_symbol. Subsequently, 'crc' gets emitted as an
> > attribute of 'elf-symbol' in the XML representation.
>
> This is pretty cool btw.
>
> Personally, I would have tied the CRC to the decl instead of the ELF
> symbol.  I know in the kernel land, symbols and decls are usually
> thought of interchangeably but conceptually, they are not the same
> thing.
>
> The linux kernel CRCs are computed from the types of the declarations
> that are associated to the ELF symbol.  I am talking about the genksyms
> machinery.  Se we are really talking about the declarations and types
> here.  They are storing in ELF because there is no concept of decls and
> types in ELF.  But we do have that in libabigail.  So I really think it
> makes more sense to have this tied to decls instead of ELF symbols.
>
>
I can think of a few arguments in the opposite direction:

The link between ELF symbols and declarations isn't completely reliable.
Examples here include things like strlen and friends which are declared in
.h
but defined in .S files. Arguably this is a bug somewhere needing a fix.

I opened a libabigail bug in the last few days regarding a missing parameter
diff. Having CRCs meant we didn't miss this and checking at the symbol
level protects us from issues in the much more complex type difference code.

CRCs are part of the module link-loader interface which is very much about
symbol-level compatibility rather than type-level compatibility. We risk
diverging from the kernel's notion of module compatibility if we interpret
CRCs as anything else.

A CRC can change even if the decl type does not. Internal dependencies on
such a decl (admittedly not possible in pure C, I think) should not be
reported
as having changed indirectly, just because the CRC has.

It's less and simpler code.

If CRCs are ever replaced by something better, it will likely be DWARF or
perhaps even BTF-based. At this point the argument that it's type info
and not symbol info will be stronger. BTF would be less sensitive to changes
than DWARF in odd cases (multidimensional arrays are flattened, for
example).

If tomorrow we build or get a hash for decls and types we'll have to
> re-do this again, at the decl level.
>
> As a matter of fact, the feature already exists for type units in DWARF
> for instance.  We just don't support that yet.  But we might have to
> support it in the future.
>
> So the more I think about this, the more I think we should add an
> "artifact_hash" property to type_or_decl_base instead of putting this
> into the ELF symbol.
>
> What do you think?
>
>
It's an interesting one.


> [...]
>
> Cheers,
>
> --
>                 Dodji
>

Regards,
Giuliano.

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums)
  2021-03-17 23:29       ` Giuliano Procida
@ 2021-03-18 22:10         ` Matthias Maennich
  2021-03-19 16:55           ` Dodji Seketeli
  0 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-03-18 22:10 UTC (permalink / raw)
  To: Giuliano Procida
  Cc: Dodji Seketeli, Giuliano Procida via Libabigail, kernel-team

Hi!

On Wed, Mar 17, 2021 at 11:29:13PM +0000, Giuliano Procida wrote:
>Hi Dodji.
>
>Not sure if Matthias would say exactly the same things.
>
>On Wed, 17 Mar 2021 at 17:13, Dodji Seketeli <dodji@seketeli.org> wrote:
>
>> Matthias Maennich <maennich@google.com> a écrit:
>>
>> > The Linux Kernel has a mechanism (MODVERSIONS) to checksum symbols based
>> > on their type. In a way similar to what libabigail does, but different.
>> > The CRC values for symbols can be extracted from the symtab either by
>> > following the __kcrctab_<symbol> entry or by using the __crc_<symbol>
>> > value directly.
>> >
>> > This patch adds support for extracting those CRC values and storing them
>> > as a property of elf_symbol. Subsequently, 'crc' gets emitted as an
>> > attribute of 'elf-symbol' in the XML representation.
>>
>> This is pretty cool btw.
>>
>> Personally, I would have tied the CRC to the decl instead of the ELF
>> symbol.  I know in the kernel land, symbols and decls are usually
>> thought of interchangeably but conceptually, they are not the same
>> thing.
>>
>> The linux kernel CRCs are computed from the types of the declarations
>> that are associated to the ELF symbol.  I am talking about the genksyms
>> machinery.  Se we are really talking about the declarations and types
>> here.  They are storing in ELF because there is no concept of decls and
>> types in ELF.  But we do have that in libabigail.  So I really think it
>> makes more sense to have this tied to decls instead of ELF symbols.
>>
>>
>I can think of a few arguments in the opposite direction:
>
>The link between ELF symbols and declarations isn't completely reliable.
>Examples here include things like strlen and friends which are declared in
>.h
>but defined in .S files. Arguably this is a bug somewhere needing a fix.
>
>I opened a libabigail bug in the last few days regarding a missing parameter
>diff. Having CRCs meant we didn't miss this and checking at the symbol
>level protects us from issues in the much more complex type difference code.
>
>CRCs are part of the module link-loader interface which is very much about
>symbol-level compatibility rather than type-level compatibility. We risk
>diverging from the kernel's notion of module compatibility if we interpret
>CRCs as anything else.
>
>A CRC can change even if the decl type does not. Internal dependencies on

That was my first thought. In fact, I can construct a case where the
same underlying decl is referenced by two elf symbols with different CRC
values: with symbol aliases.

Consider this patch to the existing modversions test case.

   | diff --git a/tests/data/test-symtab/kernel/one_of_each.c b/tests/data/test-symtab/kernel/one_of_each.c
   | index 9d461fbd0053..488dbf38d3d9 100644
   | --- a/tests/data/test-symtab/kernel/one_of_each.c
   | +++ b/tests/data/test-symtab/kernel/one_of_each.c
   | @@ -6,6 +6,9 @@ EXPORT_SYMBOL(exported_function);
   |  void exported_function_gpl(void) {}
   |  EXPORT_SYMBOL_GPL(exported_function_gpl);
   |
   | +void aliased_function(void) __attribute__ ((alias("exported_function")));
   | +EXPORT_SYMBOL_GPL(aliased_function);
   | +

It creates a symbol table layout like this

  | $ readelf -sW one_of_each.ko | egrep "__(ksy|cr).*function"
  |   0000000000000000     0 NOTYPE  LOCAL  DEFAULT    3 __ksymtab_exported_function
  |   000000000000000c     0 NOTYPE  LOCAL  DEFAULT    5 __ksymtab_exported_function_gpl
  |   0000000000000000     0 NOTYPE  LOCAL  DEFAULT    5 __ksymtab_aliased_function
  |   00000000e52d5bcf     0 NOTYPE  GLOBAL DEFAULT  ABS __crc_exported_function
  |   00000000f9cc3f69     0 NOTYPE  GLOBAL DEFAULT  ABS __crc_aliased_function
  |   00000000fda43846     0 NOTYPE  GLOBAL DEFAULT  ABS __crc_exported_function_gpl

In particular, the aliased function obviously maps to the same function
location, but received a different CRC value (probably due to having a
different name).

This creates (simplified)

   <elf-symbol name='aliased_function' type='func-type' ...  crc='0xf9cc3f69'/>
   <elf-symbol name='exported_function' type='func-type' ... alias='aliased_function' crc='0xe52d5bcf'/>
   <elf-symbol name='exported_function_gpl' type='func-type' ... crc='0xfda43846'/>

and 'aliased_function' is not directly connected to any own decl. It
delegates that to 'exported_function'. So, connecting it to a decl
would make us lose information. Without debug information we could not
even surely tell which one is the alias and which one is the original,
and the CRC would be taken rather randomly from one of them.

But we can think this further through. I usually associate the decl and
type information with DWARF and the ELF symbol information with what we
can deduct from the symbol table. For stripped binaries that do not have
debug information, we can only work with symbol information. Now, since
the CRC is part of the symbol table, it is actually not stripped off and
still retained. Hence, libabigail is able at abidw or abidiff time to
extract the CRC from stripped kernel binaries and is able to do somewhat
reasonable ABI analysis based on CRC values and other properties encoded
in the symbol table. That is actually a big win and we would likely give
up on this if we would push this to the decls. (We still could create
the decls just for this property, but this does sound like a hack and
would still not be accurate for aliases.)

>such a decl (admittedly not possible in pure C, I think) should not be
>reported
>as having changed indirectly, just because the CRC has.
>
>It's less and simpler code.

Besides everything I said above, this is the main reason I would argue
to keep this attached to the ELF symbol. Based on the new symtab reader
implementation, this is a fairly simple piece of code. ~100 lines of
code.

>
>If CRCs are ever replaced by something better, it will likely be DWARF or
>perhaps even BTF-based. At this point the argument that it's type info
>and not symbol info will be stronger. BTF would be less sensitive to changes
>than DWARF in odd cases (multidimensional arrays are flattened, for
>example).
>
>If tomorrow we build or get a hash for decls and types we'll have to
>> re-do this again, at the decl level.
>>
>> As a matter of fact, the feature already exists for type units in DWARF
>> for instance.  We just don't support that yet.  But we might have to
>> support it in the future.
>>
>> So the more I think about this, the more I think we should add an
>> "artifact_hash" property to type_or_decl_base instead of putting this
>> into the ELF symbol.
>>
>> What do you think?

I think it belongs to the elf symbol and it makes things much simpler :-)

Cheers,
Matthias

>>
>>
>It's an interesting one.
>
>
>> [...]
>>
>> Cheers,
>>
>> --
>>                 Dodji
>>
>
>Regards,
>Giuliano.

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums)
  2021-03-18 22:10         ` Matthias Maennich
@ 2021-03-19 16:55           ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-19 16:55 UTC (permalink / raw)
  To: Matthias Maennich
  Cc: Giuliano Procida, Giuliano Procida via Libabigail, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

[...]

> I think it belongs to the elf symbol and it makes things much simpler :-)

[...]

>>It's an interesting one.

[...]

OK, fair enough.  I think your point of view makes sense.

Thanks!

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums)
  2021-01-27 12:58   ` [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
  2021-03-17 17:13     ` Dodji Seketeli
@ 2021-03-19 18:15     ` Dodji Seketeli
  1 sibling, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-03-19 18:15 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

[...]

> diff --git a/src/abg-ir.cc b/src/abg-ir.cc
> index 0b31f2014189..64dfffbf4011 100644
> --- a/src/abg-ir.cc
> +++ b/src/abg-ir.cc

[...]

> @@ -1414,6 +1419,7 @@ elf_symbol::elf_symbol(const environment* e,
>  		       visibility	  vi,
>  		       bool		  is_linux_string_cst,
>  		       bool		  is_in_ksymtab,
> +		       uint64_t		  crc,

Please add a comment for this new parameter.

>  		       bool		  is_suppressed)
>    : priv_(new priv(e,
>  		   i,
> @@ -1427,6 +1433,7 @@ elf_symbol::elf_symbol(const environment* e,
>  		   vi,
>  		   is_linux_string_cst,
>  		   is_in_ksymtab,
> +		   crc,

Likewise.

>  		   is_suppressed))
>  {}
>  
> @@ -1486,11 +1493,12 @@ elf_symbol::create(const environment* e,
>  		   visibility	      vi,
>  		   bool		      is_linux_string_cst,
>  		   bool		      is_in_ksymtab,
> +		   uint64_t	      crc,

Likewise.

[...]

> +uint64_t
> +elf_symbol::get_crc() const
> +{return priv_->crc_;}
> +
> +void
> +elf_symbol::set_crc(uint64_t crc)
> +{priv_->crc_ = crc;}
> +

Please add a comment for these two accessors.

[...]

> diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc
> index 512fbc20adc0..8ee90c590a94 100644
> --- a/src/abg-symtab-reader.cc
> +++ b/src/abg-symtab-reader.cc
> @@ -12,6 +12,7 @@

[...]

> @@ -338,6 +345,18 @@ symtab::load_(Elf*	       elf_handle,
>        has_ksymtab_entries_ = true;
>      }
>  
> +  // Now add the CRC values
> +  for (const auto& crc_entry : crc_values)
> +    {
> +      const auto r = name_symbol_map_.find(crc_entry.first);
> +      if (r == name_symbol_map_.end())
> +	continue;
> +
> +      for (const auto& symbol : r->second) {

The opening parenthesis is useless (and should have go on the next line
if it was not)

> +	symbol->set_crc(crc_entry.second);
> +      }
> +    }
> +
>    // sort the symbols for deterministic output
>    std::sort(symbols_.begin(), symbols_.end(), symbol_sort);
>  

[...]


>
> 	* include/abg-ir.h (elf_symbol::elf_symbol): Add CRC parameter.
> 	(elf_symbol::create): Likewise.
> 	(elf_symbol::get_crc): New member method.
> 	(elf_symbol::set_crc): New member method.
> 	* src/abg-comp-filter.cc (crc_changed): New function.
> 	(categorize_harmful_diff_node): Also test for CRC changes.
> 	* src/abg-ir.cc (elf_symbol::priv::crc_): New data member.
> 	* src/abg-ir.cc (elf_symbol::priv::priv): Add CRC parameter.
> 	(elf_symbol::elf_symbol): Likewise.
> 	(elf_symbol::create): Likewise.
> 	(elf_symbol::textually_equals): Add CRC support.
> 	(elf_symbol::get_crc): New member method.
> 	(elf_symbol::set_crc): New member method.
> 	* src/abg-reader.cc (build_elf_symbol): Add CRC support.
> 	* src/abg-reporter-priv.cc (maybe_report_diff_for_symbol): Likewise.
> 	* src/abg-symtab-reader.cc (symtab::load): Likewise.
> 	* src/abg-writer.cc (write_elf_symbol): Likewise.
> 	* tests/data/Makefile.am: Add new test data files.
> 	* tests/data/test-abidiff-exit/test-crc-report.txt: New test file.
> 	* tests/data/test-abidiff-exit/test-crc-v0.abi: Likewise.
> 	* tests/data/test-abidiff-exit/test-crc-v1.abi: Likewise.
> 	* tests/data/test-abidiff/empty-report.txt: New file.
> 	* tests/data/test-abidiff/test-PR18166-libtirpc.so.report.txt: Deleted.
> 	* tests/data/test-abidiff/test-PR24552-report0.txt: Deleted.
> 	* tests/data/test-abidiff/test-crc-0.xml: New test file.
> 	* tests/data/test-abidiff/test-crc-1.xml: Likewise.
> 	* tests/data/test-abidiff/test-crc-2.xml: Likewise.
> 	* tests/data/test-abidiff/test-crc-report.txt: Likewise.
> 	* tests/data/test-abidiff/test-empty-corpus-report.txt: Deleted.
> 	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Add CRC values.
> 	* tests/data/test-read-write/test-crc.xml: New test data file.
> 	* tests/data/test-symtab/kernel-modversions/Makefile: New test source.
> 	* tests/data/test-symtab/kernel-modversions/one_of_each.c: Likewise.
> 	* tests/data/test-symtab/kernel-modversions/one_of_each.ko: Likewise.
> 	* tests/test-abidiff-exit.cc: Add new test case.
> 	* tests/test-abidiff.cc: Add new test case.
> 	* tests/test-read-write.cc: Likewise.
> 	* tests/test-symtab.cc (Symtab::KernelSymtabsWithCRC): New test case.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

OK to apply to master once the pre-requisites are in.

Thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

* [GIT PULL] Refactor (k)symtab reader
  2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
                     ` (19 preceding siblings ...)
  2021-01-27 12:58   ` [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
@ 2021-03-29 13:19   ` Matthias Maennich
  2021-04-02 14:28     ` Dodji Seketeli
  20 siblings, 1 reply; 91+ messages in thread
From: Matthias Maennich @ 2021-03-29 13:19 UTC (permalink / raw)
  To: Dodji Seketeli, libabigail; +Cc: Giuliano Procida, kernel-team

Hi Dodji,

This is technically v4 of the symtab reader series. I addressed all the
requests from the review and since they were mostly about style, I did
not send out the series again. Instead I staged the version at the
sourceware git for you to merge (or fast-forward) directly.

There is a new tiny commit that enhances the .clang-format file to
create better matching style and obviously. I folded the relevant ARM32
patch into the first commit of the series.

I omitted the commits that were already merged. I also attached the full
inter-diff between v3 and v4 for your reference.

Cheers,
Matthias

---

So, please pull:

The following changes since commit 2eefd1727663285fe3544c41ec01dea32b2ec7dd:

   Bug 27569 - abidiff misses a function parameter addition (2021-03-29 12:34:48 +0200)

are available in the Git repository at:

   ssh://sourceware.org/git/libabigail.git mm-symtab-reader

for you to fetch changes up to 6be21667a07e261dc9779271048c219232c1b911:

   symtab: Add support for MODVERSIONS (CRC checksums) (2021-03-29 13:39:56 +0100)

----------------------------------------------------------------
Giuliano Procida (1):
       abg-writer.cc: fix write_elf_symbol_reference loop

Matthias Maennich (16):
       clang-format: Minor correction to not break parameters on the first line
       Refactor ELF symbol table reading by adding a new symtab reader
       Integrate new symtab reader into corpus and read_context
       corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
       corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
       abg-reader: avoid using the (var|function)_symbol_map
       dwarf-reader: read_context: use new symtab in *_symbols_is_exported
       Switch kernel stuff over to new symtab and drop unused code
       abg-elf-helpers: migrate ppc64 specific helpers
       symtab_reader: add support for ppc64 ELFv1 binaries
       abg-corpus: remove symbol maps and their setters
       dwarf reader: drop (now) unused code related to symbol table reading
       test-symtab: add tests for whitelisted functions
       symtab/dwarf-reader: allow hinting of main symbols for aliases
       dwarf-reader/writer: consider aliases when dealing with suppressions
       symtab: Add support for MODVERSIONS (CRC checksums)

  .clang-format                                      |    3 +-
  include/abg-corpus.h                               |   24 +-
  include/abg-dwarf-reader.h                         |    6 -
  include/abg-fwd.h                                  |    9 +
  include/abg-ir.h                                   |   11 +
  src/abg-comp-filter.cc                             |   39 +-
  src/abg-corpus-priv.h                              |   57 +-
  src/abg-corpus.cc                                  |  637 +++--
  src/abg-dwarf-reader.cc                            | 2453 ++------------------
  src/abg-elf-helpers.cc                             |  186 ++
  src/abg-elf-helpers.h                              |    8 +
  src/abg-ir.cc                                      |   79 +-
  src/abg-reader.cc                                  |   57 +-
  src/abg-reporter-priv.cc                           |   18 +-
  src/abg-symtab-reader.cc                           |  543 +++++
  src/abg-symtab-reader.h                            |  314 ++-
  src/abg-tools-utils.cc                             |   13 -
  src/abg-writer.cc                                  |   68 +-
  tests/data/Makefile.am                             |   38 +-
  .../test-abicompat/test5-fn-changed-report-0.txt   |    4 -
  .../test-abicompat/test5-fn-changed-report-1.txt   |    4 -
  tests/data/test-abidiff-exit/test-crc-report.txt   |   15 +
  tests/data/test-abidiff-exit/test-crc-v0.abi       |   29 +
  tests/data/test-abidiff-exit/test-crc-v1.abi       |   30 +
  .../test-missing-alias-report.txt                  |    0
  .../data/test-abidiff-exit/test-missing-alias.abi  |   12 +
  .../test-abidiff-exit/test-missing-alias.suppr     |    4 +
  ...166-libtirpc.so.report.txt => empty-report.txt} |    0
  tests/data/test-abidiff/test-PR24552-report0.txt   |    3 -
  tests/data/test-abidiff/test-crc-0.xml             | 1601 +++++++++++++
  tests/data/test-abidiff/test-crc-1.xml             | 1601 +++++++++++++
  tests/data/test-abidiff/test-crc-2.xml             | 1601 +++++++++++++
  tests/data/test-abidiff/test-crc-report.txt        |    9 +
  .../data/test-abidiff/test-empty-corpus-report.txt |    3 -
  tests/data/test-annotate/test15-pr18892.so.abi     |  918 ++++----
  .../test19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
  tests/data/test-annotate/test2.so.abi              |   12 +-
  tests/data/test-annotate/test3.so.abi              |    6 +-
  tests/data/test-diff-dwarf/test12-report.txt       |    7 +
  .../test36-ppc64-aliases-report-0.txt              |    4 +-
  .../test42-PR21296-clanggcc-report0.txt            |    6 +-
  .../test-diff-filter/test-PR27569-report-0.txt     |    2 +
  .../test31-pr18535-libstdc++-report-0.txt          |    6 +-
  .../test31-pr18535-libstdc++-report-1.txt          |    6 +-
  ...64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt |    6 +-
  ...64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt |    6 +-
  .../test-diff-suppr/test23-alias-filter-4.suppr    |    2 +-
  .../test23-alias-filter-report-0.txt               |    4 +-
  .../test23-alias-filter-report-2.txt               |    4 +-
  tests/data/test-diff-suppr/test31-report-0.txt     |    3 +
  tests/data/test-diff-suppr/test32-report-1.txt     |    2 +-
  .../PR22015-libboost_iostreams.so.abi              |   48 +-
  tests/data/test-read-dwarf/PR22122-libftdc.so.abi  |    6 +-
  tests/data/test-read-dwarf/PR25007-sdhci.ko.abi    |   77 +-
  .../data/test-read-dwarf/libtest24-drop-fns.so.abi |  314 +--
  tests/data/test-read-dwarf/test-suppressed-alias.c |   16 +
  tests/data/test-read-dwarf/test-suppressed-alias.o |  Bin 0 -> 2848 bytes
  .../test-read-dwarf/test-suppressed-alias.o.abi    |   16 +
  .../test-read-dwarf/test-suppressed-alias.suppr    |    7 +
  .../data/test-read-dwarf/test10-pr18818-gcc.so.abi |  192 +-
  tests/data/test-read-dwarf/test11-pr18828.so.abi   |  516 ++--
  tests/data/test-read-dwarf/test12-pr18844.so.abi   |   66 +-
  tests/data/test-read-dwarf/test15-pr18892.so.abi   |  918 ++++----
  tests/data/test-read-dwarf/test16-pr18904.so.abi   |  990 ++++----
  .../test19-pr19023-libtcmalloc_and_profiler.so.abi |   60 +-
  tests/data/test-read-dwarf/test2.so.abi            |   12 +-
  tests/data/test-read-dwarf/test2.so.hash.abi       |   12 +-
  .../test22-pr19097-libstdc++.so.6.0.17.so.abi      | 1042 ++++-----
  .../data/test-read-dwarf/test3-alias-1.so.hash.abi |   14 +
  tests/data/test-read-dwarf/test3-alias-1.suppr     |    3 +
  .../data/test-read-dwarf/test3-alias-2.so.hash.abi |   18 +
  tests/data/test-read-dwarf/test3-alias-2.suppr     |    3 +
  .../data/test-read-dwarf/test3-alias-3.so.hash.abi |   14 +
  tests/data/test-read-dwarf/test3-alias-3.suppr     |    3 +
  .../data/test-read-dwarf/test3-alias-4.so.hash.abi |    8 +
  tests/data/test-read-dwarf/test3-alias-4.suppr     |    3 +
  tests/data/test-read-dwarf/test3.so.abi            |    6 +-
  tests/data/test-read-dwarf/test3.so.hash.abi       |    6 +-
  tests/data/test-read-write/test-crc.xml            |   10 +
  tests/data/test-symtab/basic/aliases.c             |   13 +
  tests/data/test-symtab/basic/aliases.so            |  Bin 0 -> 17176 bytes
  tests/data/test-symtab/basic/no_debug_info.c       |    2 +-
  tests/data/test-symtab/basic/no_debug_info.so      |  Bin 15360 -> 15544 bytes
  .../basic/one_function_one_variable_all.whitelist  |    3 +
  .../one_function_one_variable_function.whitelist   |    2 +
  .../one_function_one_variable_irrelevant.whitelist |    2 +
  .../one_function_one_variable_variable.whitelist   |    2 +
  tests/data/test-symtab/kernel-modversions/Makefile |   19 +
  .../test-symtab/kernel-modversions/one_of_each.c   |    1 +
  .../test-symtab/kernel-modversions/one_of_each.ko  |  Bin 0 -> 131760 bytes
  tests/test-abidiff-exit.cc                         |   22 +
  tests/test-abidiff.cc                              |   34 +-
  tests/test-read-dwarf.cc                           |   40 +
  tests/test-read-write.cc                           |    6 +
  tests/test-symtab.cc                               |  188 +-
  tools/abidw.cc                                     |    2 -
  96 files changed, 9832 insertions(+), 5417 deletions(-)
  create mode 100644 tests/data/test-abidiff-exit/test-crc-report.txt
  create mode 100644 tests/data/test-abidiff-exit/test-crc-v0.abi
  create mode 100644 tests/data/test-abidiff-exit/test-crc-v1.abi
  create mode 100644 tests/data/test-abidiff-exit/test-missing-alias-report.txt
  create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.abi
  create mode 100644 tests/data/test-abidiff-exit/test-missing-alias.suppr
  rename tests/data/test-abidiff/{test-PR18166-libtirpc.so.report.txt => empty-report.txt} (100%)
  delete mode 100644 tests/data/test-abidiff/test-PR24552-report0.txt
  create mode 100644 tests/data/test-abidiff/test-crc-0.xml
  create mode 100644 tests/data/test-abidiff/test-crc-1.xml
  create mode 100644 tests/data/test-abidiff/test-crc-2.xml
  create mode 100644 tests/data/test-abidiff/test-crc-report.txt
  delete mode 100644 tests/data/test-abidiff/test-empty-corpus-report.txt
  create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.c
  create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.o
  create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.o.abi
  create mode 100644 tests/data/test-read-dwarf/test-suppressed-alias.suppr
  create mode 100644 tests/data/test-read-dwarf/test3-alias-1.so.hash.abi
  create mode 100644 tests/data/test-read-dwarf/test3-alias-1.suppr
  create mode 100644 tests/data/test-read-dwarf/test3-alias-2.so.hash.abi
  create mode 100644 tests/data/test-read-dwarf/test3-alias-2.suppr
  create mode 100644 tests/data/test-read-dwarf/test3-alias-3.so.hash.abi
  create mode 100644 tests/data/test-read-dwarf/test3-alias-3.suppr
  create mode 100644 tests/data/test-read-dwarf/test3-alias-4.so.hash.abi
  create mode 100644 tests/data/test-read-dwarf/test3-alias-4.suppr
  create mode 100644 tests/data/test-read-write/test-crc.xml
  create mode 100644 tests/data/test-symtab/basic/aliases.c
  create mode 100755 tests/data/test-symtab/basic/aliases.so
  create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_all.whitelist
  create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_function.whitelist
  create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_irrelevant.whitelist
  create mode 100644 tests/data/test-symtab/basic/one_function_one_variable_variable.whitelist
  create mode 100644 tests/data/test-symtab/kernel-modversions/Makefile
  create mode 120000 tests/data/test-symtab/kernel-modversions/one_of_each.c
  create mode 100644 tests/data/test-symtab/kernel-modversions/one_of_each.ko

---

Range-Diff between v3 and v3
----------------------------

  -:  ------------ >  1:  4f997ce9e4cb clang-format: Minor correction to not break parameters on the first line
  1:  c6a596e02f78 !  2:  af33bfb78470 Refactor ELF symbol table reading by adding a new symtab reader
     @@ Commit message
                  (symtab::load_): Likewise.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-symtab-reader.cc ##
     @@ src/abg-symtab-reader.cc: namespace abigail
      +{
      +  bool
      +  operator()(const elf_symbol_sptr& left, const elf_symbol_sptr& right)
     -+  { return left->get_id_string() < right->get_id_string(); }
     ++  {return left->get_id_string() < right->get_id_string();}
      +} symbol_sort;
      +
      +/// Construct a symtab object and instantiate from an ELF handle. Also pass
      +/// in an ir::environment handle to interact with the context we are living
      +/// in. If specified, the symbol_predicate will be respected when creating
      +/// the full vector of symbols.
     ++///
     ++/// @param elf_handle the elf handle to load the symbol table from
     ++///
     ++/// @param env the environment we are operating in
     ++///
     ++/// @param is_suppressed a predicate function to determine if a symbol should
     ++/// be suppressed
     ++///
     ++/// @return a smart pointer handle to symtab, set to nullptr if the load was
     ++/// not completed
      +symtab_ptr
      +symtab::load(Elf*	      elf_handle,
      +	     ir::environment* env,
     @@ src/abg-symtab-reader.cc: namespace abigail
      +
      +/// Construct a symtab object from existing name->symbol lookup maps.
      +/// They were possibly read from a different representation (XML maybe).
     ++///
     ++/// @param function_symbol_map a map from ELF function name to elf_symbol
     ++///
     ++/// @param variable_symbol_map a map from ELF variable name to elf_symbol
     ++///
     ++/// @return a smart pointer handle to symtab, set to nullptr if the load was
     ++/// not completed
      +symtab_ptr
      +symtab::load(string_elf_symbols_map_sptr function_symbol_map,
      +	     string_elf_symbols_map_sptr variables_symbol_map)
     @@ src/abg-symtab-reader.cc: namespace abigail
      +  return result;
      +}
      +
     -+symtab::symtab() : is_kernel_binary_(false), has_ksymtab_entries_(false) {}
     ++symtab::symtab()
     ++  : is_kernel_binary_(false), has_ksymtab_entries_(false)
     ++{}
      +
      +/// Load the symtab representation from an Elf binary presented to us by an
      +/// Elf* handle.
     @@ src/abg-symtab-reader.cc: namespace abigail
      +/// Symbols that are suppressed will be omitted from the symbols_ vector, but
      +/// still be discoverable through the name->symbol and addr->symbol lookup
      +/// maps.
     ++///
     ++/// @param elf_handle the elf handle to load the symbol table from
     ++///
     ++/// @param env the environment we are operating in
     ++///
     ++/// @param is_suppressed a predicate function to determine if a symbol should
     ++/// be suppressed
     ++///
     ++/// @return true if the load succeeded
      +bool
      +symtab::load_(Elf*	       elf_handle,
      +	      ir::environment* env,
     @@ src/abg-symtab-reader.cc: namespace abigail
      +  const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
      +  std::unordered_set<std::string> exported_kernel_symbols;
      +
     ++  const bool is_arm32 = elf_helpers::architecture_is_arm32(elf_handle);
     ++
      +  for (size_t i = 0; i < number_syms; ++i)
      +    {
      +      GElf_Sym *sym, sym_mem;
     @@ src/abg-symtab-reader.cc: namespace abigail
      +      elf_symbol::version ver;
      +      elf_helpers::get_version_for_symbol(elf_handle, i, sym_is_defined, ver);
      +
     -+      const elf_symbol_sptr& symbol_sptr = elf_symbol::create(
     -+	  env, i, sym->st_size, name,
     -+	  elf_helpers::stt_to_elf_symbol_type(GELF_ST_TYPE(sym->st_info)),
     -+	  elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)),
     -+	  sym_is_defined, sym_is_common, ver,
     -+	  elf_helpers::stv_to_elf_symbol_visibility(
     -+	      GELF_ST_VISIBILITY(sym->st_other)),
     -+	  false); // TODO: is_linux_strings_cstr
     ++      const elf_symbol_sptr& symbol_sptr =
     ++	elf_symbol::create
     ++	(env, i, sym->st_size, name,
     ++	 elf_helpers::stt_to_elf_symbol_type(GELF_ST_TYPE(sym->st_info)),
     ++	 elf_helpers::stb_to_elf_symbol_binding(GELF_ST_BIND(sym->st_info)),
     ++	 sym_is_defined, sym_is_common, ver,
     ++	 elf_helpers::stv_to_elf_symbol_visibility
     ++	 (GELF_ST_VISIBILITY(sym->st_other)),
     ++	 /*is_linux_strings_cstr=*/false); // TODO: remove
     ++					   // is_linux_strings_cstr
     ++					   // as it is obsolete
      +
      +      // We do not take suppressed symbols into our symbol vector to avoid
      +      // accidental leakage. But we ensure supressed symbols are otherwise set
     @@ src/abg-symtab-reader.cc: namespace abigail
      +	}
      +      else if (symbol_sptr->is_defined())
      +	{
     -+	  const GElf_Addr symbol_value =
     ++	  GElf_Addr symbol_value =
      +	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
      +								    sym);
      +
     ++	  if (symbol_sptr->is_function() && is_arm32)
     ++	    // Clear bit zero of ARM32 addresses as per "ELF for the Arm
     ++	    // Architecture" section 5.5.3.
     ++	    // https://static.docs.arm.com/ihi0044/g/aaelf32.pdf
     ++	    symbol_value &= ~1;
     ++
      +	  const auto result =
      +	    addr_symbol_map_.emplace(symbol_value, symbol_sptr);
      +	  if (!result.second)
     @@ src/abg-symtab-reader.cc: namespace abigail
      +/// This method assumes the lookup maps are correct and sets up the data
      +/// vector as well as the name->symbol lookup map. The addr->symbol lookup
      +/// map cannot be set up in this case.
     ++///
     ++/// @param function_symbol_map a map from ELF function name to elf_symbol
     ++///
     ++/// @param variable_symbol_map a map from ELF variable name to elf_symbol
     ++///
     ++/// @return true if the load succeeded
      +bool
      +symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
      +	     string_elf_symbols_map_sptr variables_symbol_map)
     @@ src/abg-symtab-reader.h
      +  bool
      +  matches(const elf_symbol& symbol) const;
      +
     ++  /// Enable or disable function filtering
     ++  ///
     ++  /// @param new_value whether to filter for functions
      +  void
      +  set_functions(bool new_value = true)
     -+  { functions_ = new_value; };
     ++  {functions_ = new_value;};
      +
     ++  /// Enable or disable variable filtering
     ++  ///
     ++  /// @param new_value whether to filter for variables
      +  void
      +  set_variables(bool new_value = true)
     -+  { variables_ = new_value; };
     ++  {variables_ = new_value;};
      +
     ++  /// Enable or disable public symbol filtering
     ++  ///
     ++  /// @param new_value whether to filter for public symbols
      +  void
      +  set_public_symbols(bool new_value = true)
     -+  { public_symbols_ = new_value; };
     ++  {public_symbols_ = new_value;};
      +
     ++  /// Enable or disable undefined symbol filtering
     ++  ///
     ++  /// @param new_value whether to filter for undefined symbols
      +  void
      +  set_undefined_symbols(bool new_value = true)
     -+  { undefined_symbols_ = new_value; };
     ++  {undefined_symbols_ = new_value;};
      +
     ++  /// Enable or disable kernel symbol filtering
     ++  ///
     ++  /// @param new_value whether to filter for kernel symbols
      +  void
      +  set_kernel_symbols(bool new_value = true)
     -+  { kernel_symbols_ = new_value; };
     ++  {kernel_symbols_ = new_value;};
      +
      +private:
      +  // The symbol is a function (FUNC)
     @@ src/abg-symtab-reader.h
      +  /// Construct the iterator based on a pair of underlying iterators and a
      +  /// symtab_filter object. Immediately fast forward to the next element that
      +  /// matches the criteria (if any).
     ++  ///
     ++  /// @param begin the underlying begin iterator
     ++  ///
     ++  /// @param begin the underlying end iterator
     ++  ///
     ++  /// @param filter the symtab_filter to apply
      +  symtab_iterator(base_iterator	       begin,
      +		  base_iterator	       end,
      +		  const symtab_filter& filter = symtab_filter())
      +    : base_iterator(begin), end_(end), filter_(filter)
     -+  { skip_to_next(); }
     ++  {skip_to_next();}
      +
      +  /// Pre-increment operator to advance to the next matching element.
     ++  ///
     ++  /// @return itself after incrementing
      +  symtab_iterator&
      +  operator++()
      +  {
     @@ src/abg-symtab-reader.h
      +  }
      +
      +  /// Post-increment operator to advance to the next matching element.
     ++  ///
     ++  /// @return a copy of the iterator before incrementing
      +  symtab_iterator
      +  operator++(int)
      +  {
     @@ src/abg-symtab-reader.h
      +  /// @return true if there are symbols detected earlier.
      +  bool
      +  has_symbols() const
     -+  { return is_kernel_binary_ ? has_ksymtab_entries_ : !symbols_.empty(); }
     ++  {return is_kernel_binary_ ? has_ksymtab_entries_ : !symbols_.empty();}
      +
      +  symtab_filter
      +  make_filter() const;
     @@ src/abg-symtab-reader.h
      +  /// @return a filtering const_iterator of the underlying type
      +  const_iterator
      +  begin(const symtab_filter& filter) const
     -+  { return symtab_iterator(symbols_.begin(), symbols_.end(), filter); }
     ++  {return symtab_iterator(symbols_.begin(), symbols_.end(), filter);}
      +
      +  /// Obtain an iterator to the end of the symtab.
      +  ///
      +  /// @return an end iterator
      +  const_iterator
      +  end() const
     -+  { return symtab_iterator(symbols_.end(), symbols_.end()); }
     ++  {return symtab_iterator(symbols_.end(), symbols_.end());}
      +
      +  const elf_symbols&
      +  lookup_symbol(const std::string& name) const;
     @@ src/abg-symtab-reader.h
      +  /// Construct the proxy object keeping references to the underlying symtab
      +  /// and the filter object.
      +  filtered_symtab(const symtab& tab, const symtab_filter& filter)
     -+    : tab_(tab), filter_(filter) { }
     ++    : tab_(tab), filter_(filter)
     ++  {}
      +
      +  /// Pass through symtab.begin(), but also pass on the filter.
      +  symtab::const_iterator
      +  begin() const
     -+  { return tab_.begin(filter_); }
     ++  {return tab_.begin(filter_);}
      +
      +  /// Pass through symtab.end().
      +  symtab::const_iterator
      +  end() const
     -+  { return tab_.end(); }
     ++  {return tab_.end();}
      +};
      +
       } // end namespace symtab_reader
  2:  39bcfbea4481 !  3:  55ed5b05594f Integrate new symtab reader into corpus and read_context
     @@ Commit message
                  * tests/test-symtab.cc: Add test assertions.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## include/abg-corpus.h ##
     @@ include/abg-fwd.h: typedef vector<suppression_sptr> suppressions_type;
      +{
      +
      +class symtab;
     ++/// Convenience typedef for a shared pointer to a @ref symtab
      +typedef std::shared_ptr<symtab> symtab_sptr;
      +
      +} // end namespace symtab_reader
     @@ src/abg-corpus.cc: corpus::operator==(const corpus& other) const
       	  && j == other.get_translation_units().end());
       }
       
     ++/// Setter for the symtab object.
     ++///
     ++/// @param symtab a shared pointer to the new symtab object
      +void
      +corpus::set_symtab(symtab_reader::symtab_sptr symtab)
      +{priv_->symtab_ = symtab;}
      +
     ++/// Getter for the symtab object.
     ++///
     ++/// @return a shared pointer to the symtab object
      +const symtab_reader::symtab_sptr&
      +corpus::get_symtab() const
     -+{ return priv_->symtab_; }
     ++{return priv_->symtab_;}
      +
       /// Setter of the function symbols map.
       ///
     @@ src/abg-dwarf-reader.cc: public:
           return symbol;
         }
       
     ++  /// Getter for the symtab reader. Will load the symtab from the elf handle if
     ++  /// not yet set.
     ++  ///
     ++  /// @return a shared pointer to the symtab object
      +  const symtab_reader::symtab_sptr&
      +  symtab() const
      +  {
      +    if (!symtab_)
     -+      symtab_ = symtab_reader::symtab::load(
     -+	elf_handle(), options_.env, [&](const elf_symbol_sptr& symbol) {
     -+	  return is_elf_symbol_suppressed(symbol);
     -+	});
     ++      symtab_ = symtab_reader::symtab::load
     ++	(elf_handle(), options_.env,
     ++	 [&](const elf_symbol_sptr& symbol)
     ++	 {return is_elf_symbol_suppressed(symbol);});
      +
      +    if (!symtab_)
      +      std::cerr << "Symbol table of '" << elf_path_
     @@ src/abg-reader.cc: ABG_BEGIN_EXPORT_DECLARATIONS
       #include "abg-corpus.h"
      +#include "abg-symtab-reader.h"
       
     - #ifdef WITH_ZIP_ARCHIVE
     - #include "abg-libzip-utils.h"
     + ABG_END_EXPORT_DECLARATIONS
     + // </headers defining libabigail's API>
      @@ src/abg-reader.cc: read_corpus_from_input(read_context& ctxt)
             // Note that it's possible that both fn_sym_db and var_sym_db
             // are nil, due to potential suppression specifications.  That's
     @@ tests/test-symtab.cc: TEST_CASE("Symtab::Empty", "[symtab, basic]")
       }
       
       TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
     -@@ tests/test-symtab.cc: TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
     -   const dwarf_reader::status status = read_corpus(binary, corpus_ptr);
     -   REQUIRE(corpus_ptr);
     - 
     --  REQUIRE(status
     --	  == (dwarf_reader::STATUS_OK
     --	      | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
     -+  REQUIRE(
     -+    status
     -+    == (dwarf_reader::STATUS_OK | dwarf_reader::STATUS_DEBUG_INFO_NOT_FOUND));
     - }
     - 
     - // this value indicates in the following helper method, that we do not want to
  3:  5ef5579b2e02 !  4:  e32f1b981ec5 corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
     @@ Commit message
                    data.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-corpus-priv.h ##
     @@ src/abg-corpus.cc: const string_elf_symbols_map_type&
      -  {return operator()(*l, *r);}
      -}; // end struct elf_symbol_comp_functor
      -
     --/// Return a sorted vector of function symbols for this corpus.
     --///
     --/// Note that the first time this function is called, the symbols are
     --/// sorted and cached.  Subsequent invocations of this function return
     --/// the cached vector that was built previously.
     --///
     --/// @return the sorted list of function symbols.
     + /// Return a sorted vector of function symbols for this corpus.
     + ///
     + /// Note that the first time this function is called, the symbols are
     +@@ src/abg-corpus.cc: struct elf_symbol_comp_functor
     + /// @return the sorted list of function symbols.
       const elf_symbols&
       corpus::get_sorted_fun_symbols() const
      -{
     @@ src/abg-corpus.cc: const string_elf_symbols_map_type&
      -	     s != i->second.end();
      -	     ++s)
      -	  priv_->sorted_fun_symbols.push_back(*s);
     -+{ return priv_->get_sorted_fun_symbols(); }
     - 
     +-
      -      elf_symbol_comp_functor comp;
      -      std::sort(priv_->sorted_fun_symbols.begin(),
      -		priv_->sorted_fun_symbols.end(),
     @@ src/abg-corpus.cc: const string_elf_symbols_map_type&
      -    }
      -  return priv_->sorted_fun_symbols;
      -}
     --
     --/// Getter for a sorted vector of the function symbols undefined in
     --/// this corpus.
     --///
     --/// @return a vector of the function symbols undefined in this corpus,
     --/// sorted by name and then version.
     ++{return priv_->get_sorted_fun_symbols();}
     + 
     + /// Getter for a sorted vector of the function symbols undefined in
     + /// this corpus.
     +@@ src/abg-corpus.cc: corpus::get_sorted_fun_symbols() const
     + /// sorted by name and then version.
       const elf_symbols&
       corpus::get_sorted_undefined_fun_symbols() const
      -{
     @@ src/abg-corpus.cc: const string_elf_symbols_map_type&
      -	     s != i->second.end();
      -	     ++s)
      -	  priv_->sorted_undefined_fun_symbols.push_back(*s);
     -+{ return priv_->get_sorted_undefined_fun_symbols(); }
     ++{return priv_->get_sorted_undefined_fun_symbols();}
       
      -      elf_symbol_comp_functor comp;
      -      std::sort(priv_->sorted_undefined_fun_symbols.begin(),
     @@ src/abg-corpus.cc: const string_elf_symbols_map_type&
      -    }
      -  return priv_->sorted_undefined_fun_symbols;
      -}
     ++/// Getter for the sorted vector of variable symbols for this corpus.
     ++///
     ++/// Note that the first time this function is called, it computes the
     ++/// sorted vector, caches the result and returns it.  Subsequent
     ++/// invocations of this function just return the cached vector.
     ++///
     ++/// @return the sorted vector of variable symbols for this corpus.
      +const elf_symbols&
      +corpus::get_sorted_var_symbols() const
     -+{ return priv_->get_sorted_var_symbols(); }
     ++{return priv_->get_sorted_var_symbols();}
      +
     ++/// Getter for a sorted vector of the variable symbols undefined in
     ++/// this corpus.
     ++///
     ++/// @return a vector of the variable symbols undefined in this corpus,
     ++/// sorted by name and then version.
      +const elf_symbols&
      +corpus::get_sorted_undefined_var_symbols() const
     -+{ return priv_->get_sorted_undefined_var_symbols(); }
     ++{return priv_->get_sorted_undefined_var_symbols();}
       
       /// Getter for the variable symbols map.
       ///
     @@ tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
         <elf-variable-symbols>
      -    <elf-symbol name='__this_module' size='896' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
         </elf-variable-symbols>
     -   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
     +   <abi-instr address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
           <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-1'/>
  4:  8e0b8cc05905 !  5:  dfdc0dac7a41 corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
     @@ Commit message
                    (corpus::get_unreferenced_variable_symbols): Likewise.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-corpus-priv.h ##
     @@ src/abg-corpus.cc: corpus::priv::get_sorted_undefined_fun_symbols() const
      +/// unreferenced function symbol is not in the list of functions to keep, then
      +/// that symbol is dropped and will not be part of the resulting table of
      +/// unreferenced symbol that is built.
     ++///
     ++/// @return list of symbols that are not referenced by any function
      +const elf_symbols&
      +corpus::priv::get_unreferenced_function_symbols() const
      +{
     @@ src/abg-corpus.cc: corpus::priv::get_sorted_undefined_var_symbols() const
      +/// unreferenced variable symbol is not in the list of variable to keep, then
      +/// that symbol is dropped and will not be part of the resulting table of
      +/// unreferenced symbol that is built.
     ++///
     ++/// @return list of symbols that are not referenced by any variable
      +const elf_symbols&
      +corpus::priv::get_unreferenced_variable_symbols() const
      +{
     @@ src/abg-corpus.cc: corpus::sort_variables()
      -    priv_->build_unreferenced_symbols_tables();
      -  return priv_->unrefed_fun_symbols;
      -}
     -+{ return priv_->get_unreferenced_function_symbols(); }
     ++{return priv_->get_unreferenced_function_symbols();}
       
       /// Getter of the set of variable symbols that are not referenced by
       /// any variable exported by the current corpus.
     @@ src/abg-corpus.cc: corpus::get_unreferenced_function_symbols() const
      -    priv_->build_unreferenced_symbols_tables();
      -  return priv_->unrefed_var_symbols;
      -}
     -+{ return priv_->get_unreferenced_variable_symbols(); }
     ++{return priv_->get_unreferenced_variable_symbols();}
       
       /// Accessor for the regex patterns describing the functions to drop
       /// from the public decl table.
  5:  27ea88e05723 !  6:  7cd416fa89a6 abg-reader: avoid using the (var|function)_symbol_map
     @@ Commit message
                    (build_var_decl): Likewise.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-reader.cc ##
  6:  3fa9dd5b1896 !  7:  d4008d912907 dwarf-reader: read_context: use new symtab in *_symbols_is_exported
     @@ Commit message
                    (variable_symbol_is_exported): Likewise.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-dwarf-reader.cc ##
  7:  1c77268752a8 !  8:  2411eea56423 Switch kernel stuff over to new symtab and drop unused code
     @@ Commit message
                  (read_context::var_addr_sym_map): Likewise.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-dwarf-reader.cc ##
  8:  4c25fd44ae50 !  9:  6bb34d0ef69f abg-elf-helpers: migrate ppc64 specific helpers
     @@ Commit message
                  (address_is_in_opd_section): New declaration.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-dwarf-reader.cc ##
     @@ src/abg-dwarf-reader.cc: public:
       		      GElf_Addr fn_desc_addr = sym->st_value;
       		      GElf_Addr fn_entry_point_addr =
      -			lookup_ppc64_elf_fn_entry_point_address(fn_desc_addr);
     -+			  lookup_ppc64_elf_fn_entry_point_address(
     -+			      elf_handle(), fn_desc_addr);
     ++			lookup_ppc64_elf_fn_entry_point_address(elf_handle(),
     ++								fn_desc_addr);
       		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
       			fun_entry_addr_sym_map().find(fn_entry_point_addr);
       
     @@ src/abg-elf-helpers.h
       #include <gelf.h>
       #include <string>
       
     -@@ src/abg-elf-helpers.h: architecture_is_ppc64(Elf* elf_handle);
     +@@ src/abg-elf-helpers.h: architecture_is_arm32(Elf* elf_handle);
       bool
       architecture_is_big_endian(Elf* elf_handle);
       
  9:  5976180a2a32 ! 10:  6e29c69af793 symtab_reader: add support for ppc64 ELFv1 binaries
     @@ Commit message
                    function declaration.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-symtab-reader.cc ##
     @@ src/abg-symtab-reader.cc: const elf_symbol_sptr&
      +    return addr_it->second;
      +  else
      +    {
     ++      // check for a potential entry address mapping instead,
     ++      // relevant for ppc ELFv1 binaries
      +      const auto entry_it = entry_addr_symbol_map_.find(symbol_addr);
      +      if (entry_it != entry_addr_symbol_map_.end())
      +	return entry_it->second;
     @@ src/abg-symtab-reader.cc: const elf_symbol_sptr&
       }
       
      @@ src/abg-symtab-reader.cc: symtab::load_(Elf*	       elf_handle,
     -   const bool is_kernel = elf_helpers::is_linux_kernel(elf_handle);
         std::unordered_set<std::string> exported_kernel_symbols;
       
     +   const bool is_arm32 = elf_helpers::architecture_is_arm32(elf_handle);
      +  const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle);
     -+
     + 
         for (size_t i = 0; i < number_syms; ++i)
           {
     -       GElf_Sym *sym, sym_mem;
      @@ src/abg-symtab-reader.cc: symtab::load_(Elf*	       elf_handle,
       	      elf_helpers::maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle,
       								    sym);
       
     -+	  if (is_ppc64 && symbol_sptr->is_function())
     -+	    update_function_entry_address_symbol_map(elf_handle, sym,
     -+						     symbol_sptr);
     -+
     +-	  if (symbol_sptr->is_function() && is_arm32)
     +-	    // Clear bit zero of ARM32 addresses as per "ELF for the Arm
     +-	    // Architecture" section 5.5.3.
     +-	    // https://static.docs.arm.com/ihi0044/g/aaelf32.pdf
     +-	    symbol_value &= ~1;
     ++	  if (symbol_sptr->is_function())
     ++	    {
     ++	      if (is_arm32)
     ++		// Clear bit zero of ARM32 addresses as per "ELF for the Arm
     ++		// Architecture" section 5.5.3.
     ++		// https://static.docs.arm.com/ihi0044/g/aaelf32.pdf
     ++		symbol_value &= ~1;
     ++	      else if (is_ppc64)
     ++		update_function_entry_address_symbol_map(elf_handle, sym,
     ++							 symbol_sptr);
     ++	    }
     + 
       	  const auto result =
       	    addr_symbol_map_.emplace(symbol_value, symbol_sptr);
     - 	  if (!result.second)
      @@ src/abg-symtab-reader.cc: symtab::load_(string_elf_symbols_map_sptr function_symbol_map,
         return true;
       }
       
     ++/// Update the function entry symbol map to later allow lookups of this symbol
     ++/// by entry address as well. This is relevant for ppc64 ELFv1 binaries.
     ++///
     ++/// For ppc64 ELFv1 binaries, we need to build a function entry point address
     ++/// -> function symbol map. This is in addition to the function pointer ->
     ++/// symbol map.  This is because on ppc64 ELFv1, a function pointer is
     ++/// different from a function entry point address.
     ++///
     ++/// On ppc64 ELFv1, the DWARF DIE of a function references the address of the
     ++/// entry point of the function symbol; whereas the value of the function
     ++/// symbol is the function pointer. As these addresses are different, if I we
     ++/// want to get to the symbol of a function from its entry point address (as
     ++/// referenced by DWARF function DIEs) we must have the two maps I mentionned
     ++/// right above.
     ++///
     ++/// In other words, we need a map that associates a function entry point
     ++/// address with the symbol of that function, to be able to get the function
     ++/// symbol that corresponds to a given function DIE, on ppc64.
     ++///
     ++/// The value of the function pointer (the value of the symbol) usually refers
     ++/// to the offset of a table in the .opd section.  But sometimes, for a symbol
     ++/// named "foo", the corresponding symbol named ".foo" (note the dot before
     ++/// foo) which value is the entry point address of the function; that entry
     ++/// point address refers to a region in the .text section.
     ++///
     ++/// So we are only interested in values of the symbol that are in the .opd
     ++/// section.
     ++///
     ++/// @param elf_handle the ELF handle to operate on
     ++///
     ++/// @param native_symbol the native Elf symbol to update the entry for
     ++///
     ++/// @param symbol_sptr the internal symbol to associte the entry address with
      +void
      +symtab::update_function_entry_address_symbol_map(
     -+    Elf*		   elf_handle,
     -+    GElf_Sym*		   native_symbol,
     -+    const elf_symbol_sptr& symbol_sptr)
     ++  Elf* elf_handle, GElf_Sym* native_symbol, const elf_symbol_sptr& symbol_sptr)
      +{
     -+
     -+  // For ppc64 ELFv1 binaries, we need to build a function entry point address
     -+  // -> function symbol map. This is in addition to the function pointer ->
     -+  // symbol map.  This is because on ppc64 ELFv1, a function pointer is
     -+  // different from a function entry point address.
     -+  //
     -+  // On ppc64 ELFv1, the DWARF DIE of a function references the address of the
     -+  // entry point of the function symbol; whereas the value of the function
     -+  // symbol is the function pointer. As these addresses are different, if I we
     -+  // want to get to the symbol of a function from its entry point address (as
     -+  // referenced by DWARF function DIEs) we must have the two maps I mentionned
     -+  // right above.
     -+  //
     -+  // In other words, we need a map that associates a function entry point
     -+  // address with the symbol of that function, to be able to get the function
     -+  // symbol that corresponds to a given function DIE, on ppc64.
     -+  //
     -+  // The value of the function pointer (the value of the symbol) usually refers
     -+  // to the offset of a table in the .opd section.  But sometimes, for a symbol
     -+  // named "foo", the corresponding symbol named ".foo" (note the dot before
     -+  // foo) which value is the entry point address of the function; that entry
     -+  // point address refers to a region in the .text section.
     -+  //
     -+  // So we are only interested in values of the symbol that are in the .opd
     -+  // section.
      +  const GElf_Addr fn_desc_addr = native_symbol->st_value;
      +  const GElf_Addr fn_entry_point_addr =
      +    elf_helpers::lookup_ppc64_elf_fn_entry_point_address(elf_handle,
10:  fccb335d3763 ! 11:  ef5a022875f0 abg-corpus: remove symbol maps and their setters
     @@ Commit message
                  expected test output.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## include/abg-corpus.h ##
     @@ src/abg-corpus.cc: corpus::priv::get_sorted_fun_symbols() const
         return *sorted_fun_symbols;
       }
       
     ++/// Return a map from name to function symbol for this corpus.
     ++///
     ++/// Note that the first time this function is called, the map is built.
     ++/// Subsequent invocations of this function return the cached map that was
     ++/// built previously.
     ++///
     ++/// @return the name function symbol map
      +const string_elf_symbols_map_type&
      +corpus::priv::get_fun_symbol_map() const
      +{
     @@ src/abg-corpus.cc: corpus::priv::get_sorted_undefined_fun_symbols() const
         return *sorted_undefined_fun_symbols;
       }
       
     ++/// Return a map from name to undefined function symbol for this corpus.
     ++///
     ++/// Note that the first time this function is called, the map is built.
     ++/// Subsequent invocations of this function return the cached map that was
     ++/// built previously.
     ++///
     ++/// @return the name function symbol map for undefined symbols
      +const string_elf_symbols_map_type&
      +corpus::priv::get_undefined_fun_symbol_map() const
      +{
     @@ src/abg-corpus.cc: corpus::priv::get_sorted_var_symbols() const
         return *sorted_var_symbols;
       }
       
     ++/// Return a map from name to variable symbol for this corpus.
     ++///
     ++/// Note that the first time this function is called, the map is built.
     ++/// Subsequent invocations of this function return the cached map that was
     ++/// built previously.
     ++///
     ++/// @return the name variable symbol map
      +const string_elf_symbols_map_type&
      +corpus::priv::get_var_symbol_map() const
      +{
     @@ src/abg-corpus.cc: corpus::priv::get_sorted_undefined_var_symbols() const
         return *sorted_undefined_var_symbols;
       }
       
     ++/// Return a map from name to undefined variable symbol for this corpus.
     ++///
     ++/// Note that the first time this function is called, the map is built.
     ++/// Subsequent invocations of this function return the cached map that was
     ++/// built previously.
     ++///
     ++/// @return the name undefined variable symbol map
      +const string_elf_symbols_map_type&
      +corpus::priv::get_undefined_var_symbol_map() const
      +{
     @@ src/abg-corpus.cc: corpus::is_empty() const
       }
      @@ src/abg-corpus.cc: const symtab_reader::symtab_sptr&
       corpus::get_symtab() const
     - { return priv_->symtab_; }
     + {return priv_->symtab_;}
       
      -/// Setter of the function symbols map.
      -///
     @@ src/abg-corpus.cc: corpus::get_undefined_fun_symbol_map_sptr() const
      -{return *get_undefined_fun_symbol_map_sptr();}
      +{return priv_->get_undefined_fun_symbol_map();}
       
     - const elf_symbols&
     - corpus::get_sorted_fun_symbols() const
     + /// Return a sorted vector of function symbols for this corpus.
     + ///
      @@ src/abg-corpus.cc: const elf_symbols&
       corpus::get_sorted_undefined_var_symbols() const
     - { return priv_->get_sorted_undefined_var_symbols(); }
     + {return priv_->get_sorted_undefined_var_symbols();}
       
      -/// Getter for the variable symbols map.
      -///
     @@ tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
         </elf-function-symbols>
      -  <elf-variable-symbols>
      -  </elf-variable-symbols>
     -   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
     +   <abi-instr address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
           <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-1'/>
           <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='64' id='type-id-3'>
      
11:  b3567a749c22 ! 12:  f8c3cd1438d7 dwarf reader: drop (now) unused code related to symbol table reading
     @@ Commit message
                  * tools/abidw.cc (main): Likewise.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## include/abg-dwarf-reader.h ##
     @@ src/abg-dwarf-reader.cc: public:
      -    ABG_ASSERT(gelf_getehdr(elf_handle(), &elf_header));
      -
      -    bool is_ppc64 = architecture_is_ppc64(elf_handle());
     +-    bool is_arm32 = architecture_is_arm32(elf_handle());
      -
      -    for (size_t i = 0; i < nb_syms; ++i)
      -      {
     @@ src/abg-dwarf-reader.cc: public:
      -		      maybe_adjust_et_rel_sym_addr_to_abs_addr(elf_handle(),
      -							       sym);
      -
     +-		  if (is_arm32)
     +-		    // Clear bit zero of ARM32 addresses as per "ELF for the Arm
     +-		    // Architecture" section 5.5.3.
     +-		    // https://static.docs.arm.com/ihi0044/g/aaelf32.pdf
     +-		    symbol_value &= ~1;
      -		  addr_elf_symbol_sptr_map_type::const_iterator it =
      -		    fun_addr_sym_map_->find(symbol_value);
      -		  if (it == fun_addr_sym_map_->end())
     @@ src/abg-dwarf-reader.cc: public:
      -		      // symbol that are in the .opd section.
      -		      GElf_Addr fn_desc_addr = sym->st_value;
      -		      GElf_Addr fn_entry_point_addr =
     --			  lookup_ppc64_elf_fn_entry_point_address(
     --			      elf_handle(), fn_desc_addr);
     +-			lookup_ppc64_elf_fn_entry_point_address(elf_handle(),
     +-								fn_desc_addr);
      -		      addr_elf_symbol_sptr_map_type::const_iterator it2 =
      -			fun_entry_addr_sym_map().find(fn_entry_point_addr);
      -
     @@ src/abg-dwarf-reader.cc: build_var_decl(read_context&	ctxt,
      -	}
      +      Dwarf_Addr      var_addr;
      +      if (ctxt.get_variable_address(die, var_addr))
     -+	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
     ++	var_sym = ctxt.variable_symbol_is_exported(var_addr);
       
             if (var_sym)
       	{
12:  9ab4ff413b6d ! 13:  9231995c5fc5 test-symtab: add tests for whitelisted functions
     @@ Commit message
                  (Symtab::SymtabWithWhitelist): New testcase.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## tests/data/Makefile.am ##
     @@ tests/test-symtab.cc: using dwarf_reader::read_context_sptr;
       
       dwarf_reader::status
      -read_corpus(const std::string path, corpus_sptr& result)
     -+read_corpus(
     -+  const std::string&		  path,
     -+  corpus_sptr&			  result,
     -+  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())
     ++read_corpus(const std::string&		    path,
     ++	    corpus_sptr&		    result,
     ++	    const std::vector<std::string>& whitelist_paths =
     ++		std::vector<std::string>())
       {
         const std::string& absolute_path = test_data_dir + path;
       
     -@@ tests/test-symtab.cc: read_corpus(const std::string path, corpus_sptr& result)
     -       absolute_path, debug_info_root_paths, env.get(),
     -       /* load_all_type = */ true, /* linux_kernel_mode = */ true);
     - 
     +   environment_sptr	    env(new environment);
     +   const std::vector<char**> debug_info_root_paths;
     +-  read_context_sptr	    ctxt = create_read_context(
     +-      absolute_path, debug_info_root_paths, env.get(),
     +-      /* load_all_type = */ true, /* linux_kernel_mode = */ true);
     ++  read_context_sptr	    ctxt =
     ++      create_read_context(absolute_path, debug_info_root_paths, env.get(),
     ++			  /* load_all_type = */ true,
     ++			  /* linux_kernel_mode = */ true);
     ++
      +  if (!whitelist_paths.empty())
      +    {
      +      const suppressions_type& wl_suppr =
     @@ tests/test-symtab.cc: read_corpus(const std::string path, corpus_sptr& result)
      +      REQUIRE_FALSE(wl_suppr.empty());
      +      dwarf_reader::add_read_context_suppressions(*ctxt, wl_suppr);
      +    }
     -+
     + 
         dwarf_reader::status status = dwarf_reader::STATUS_UNKNOWN;
         result = read_corpus_from_elf(*ctxt, status);
     - 
     -@@ tests/test-symtab.cc: TEST_CASE("Symtab::NoDebugInfo", "[symtab, basic]")
     - #define N std::numeric_limits<size_t>::max()
     - 
     - corpus_sptr
     --assert_symbol_count(const std::string& path,
     --		    size_t	       function_symbols = 0,
     --		    size_t	       variable_symbols = 0,
     --		    size_t	       undefined_function_symbols = 0,
     +@@ tests/test-symtab.cc: assert_symbol_count(const std::string& path,
     + 		    size_t	       function_symbols = 0,
     + 		    size_t	       variable_symbols = 0,
     + 		    size_t	       undefined_function_symbols = 0,
      -		    size_t	       undefined_variable_symbols = 0)
     -+assert_symbol_count(
     -+  const std::string&		  path,
     -+  size_t			  function_symbols = 0,
     -+  size_t			  variable_symbols = 0,
     -+  size_t			  undefined_function_symbols = 0,
     -+  size_t			  undefined_variable_symbols = 0,
     -+  const std::vector<std::string>& whitelist_paths = std::vector<std::string>())
     ++		    size_t	       undefined_variable_symbols = 0,
     ++		    const std::vector<std::string>& whitelist_paths =
     ++			std::vector<std::string>())
       {
         corpus_sptr		     corpus_ptr;
      -  const dwarf_reader::status status = read_corpus(path, corpus_ptr);
13:  a7536e784c80 ! 14:  200f7f10e6bf symtab/dwarf-reader: allow hinting of main symbols for aliases
     @@ Commit message
                  (Symtab::AliasedVariableSymbols): Likewise.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## include/abg-ir.h ##
     @@ src/abg-dwarf-reader.cc: build_var_decl(read_context&	ctxt,
             elf_symbol_sptr var_sym;
             Dwarf_Addr      var_addr;
             if (ctxt.get_variable_address(die, var_addr))
     --	var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr);
     +-	var_sym = ctxt.variable_symbol_is_exported(var_addr);
      +	{
      +	  ctxt.symtab()->update_main_symbol(var_addr,
      +					    result->get_linkage_name().empty()
     @@ src/abg-symtab-reader.cc: symtab::load_(string_elf_symbols_map_sptr function_sym
      +    addr_symbol_map_[addr] = new_main;
      +}
      +
     - void
     - symtab::update_function_entry_address_symbol_map(
     -     Elf*		   elf_handle,
     + /// Update the function entry symbol map to later allow lookups of this symbol
     + /// by entry address as well. This is relevant for ppc64 ELFv1 binaries.
     + ///
      
       ## src/abg-symtab-reader.h ##
      @@ src/abg-symtab-reader.h: public:
     @@ tests/data/Makefile.am: test-kmi-whitelist/whitelist-with-duplicate-entry \
       ## tests/data/test-abicompat/test5-fn-changed-report-0.txt ##
      @@ tests/data/test-abicompat/test5-fn-changed-report-0.txt: have sub-types that are different from what application 'test5-fn-changed-app' e
               1 data member deletion:
     -           'unsigned char S1::m1', at offset 32 (in bits)
     +           'unsigned char m1', at offset 32 (in bits)
       
      -  method S0::S0():
      -    implicit parameter 0 of type 'S0*' has sub-type changes:
     @@ tests/data/test-abicompat/test5-fn-changed-report-0.txt: have sub-types that are
       ## tests/data/test-abicompat/test5-fn-changed-report-1.txt ##
      @@ tests/data/test-abicompat/test5-fn-changed-report-1.txt: have sub-types that are different from what application 'test5-fn-changed-app' e
               1 data member deletion:
     -           'unsigned char S1::m1', at offset 32 (in bits) at test5-fn-changed-libapp-v0.h:11:1
     +           'unsigned char m1', at offset 32 (in bits) at test5-fn-changed-libapp-v0.h:11:1
       
      -  method S0::S0():
      -    implicit parameter 0 of type 'S0*' has sub-type changes:
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
             <!-- parameter of type 'typedef __sanitizer::uptr' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_munlock(void*, __sanitizer::uptr) -->
      -    <function-decl name='__interceptor_munlock' mangled-name='munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='munlock'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
             <!-- parameter of type 'typedef __sanitizer::uptr' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_mlockall(int) -->
      -    <function-decl name='__interceptor_mlockall' mangled-name='mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlockall'>
      +    <function-decl name='__interceptor_mlockall' mangled-name='__interceptor_mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlockall'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- int -->
      @@
             <return type-id='type-id-1439'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1227' name='lineptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
             <!-- parameter of type 'SIZE_T*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_drand48_r(void*, double*) -->
      -    <function-decl name='__interceptor_drand48_r' mangled-name='drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drand48_r'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-587' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
             <!-- parameter of type 'double*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- char* __interceptor_tempnam(char*, char*) -->
      -    <function-decl name='__interceptor_tempnam' mangled-name='tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tempnam'>
      +    <function-decl name='__interceptor_tempnam' mangled-name='__interceptor_tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tempnam'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
     +       <parameter type-id='type-id-28' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- char* __interceptor_tmpnam_r(char*) -->
      -    <function-decl name='__interceptor_tmpnam_r' mangled-name='tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam_r'>
      +    <function-decl name='__interceptor_tmpnam_r' mangled-name='__interceptor_tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam_r'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
     +       <parameter type-id='type-id-28' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
             <!-- char* -->
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- char* __interceptor_tmpnam(char*) -->
      -    <function-decl name='__interceptor_tmpnam' mangled-name='tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam'>
      +    <function-decl name='__interceptor_tmpnam' mangled-name='__interceptor_tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
     +       <parameter type-id='type-id-28' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
             <!-- char* -->
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- int __interceptor_pthread_attr_getaffinity_np(void*, SIZE_T, void*) -->
      -    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getaffinity_np'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
             <!-- parameter of type 'typedef SIZE_T' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_attr_getstack(void*, void**, SIZE_T*) -->
      -    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getstack'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
             <!-- parameter of type 'void**' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_attr_getscope(void*, void*) -->
      -    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getscope'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_attr_getschedpolicy(void*, void*) -->
      -    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getschedpolicy'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_attr_getguardsize(void*, void*) -->
      -    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getguardsize'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_attr_getdetachstate(void*, void*) -->
      -    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getdetachstate'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- __sanitizer::__sanitizer_ether_addr* __interceptor_ether_aton_r(char*, __sanitizer::__sanitizer_ether_addr*) -->
      -    <function-decl name='__interceptor_ether_aton_r' mangled-name='ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_aton_r'>
      +    <function-decl name='__interceptor_ether_aton_r' mangled-name='__interceptor_ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_aton_r'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
      @@
             <return type-id='type-id-1169'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- int __interceptor_ether_line(char*, __sanitizer::__sanitizer_ether_addr*, char*) -->
      -    <function-decl name='__interceptor_ether_line' mangled-name='ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_line'>
      +    <function-decl name='__interceptor_ether_line' mangled-name='__interceptor_ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_line'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
     +       <parameter type-id='type-id-28' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_ether_hostton(char*, __sanitizer::__sanitizer_ether_addr*) -->
      -    <function-decl name='__interceptor_ether_hostton' mangled-name='ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_hostton'>
      +    <function-decl name='__interceptor_ether_hostton' mangled-name='__interceptor_ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_hostton'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
     +       <parameter type-id='type-id-28' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_ether_ntohost(char*, __sanitizer::__sanitizer_ether_addr*) -->
      -    <function-decl name='__interceptor_ether_ntohost' mangled-name='ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntohost'>
      +    <function-decl name='__interceptor_ether_ntohost' mangled-name='__interceptor_ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntohost'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
     +       <parameter type-id='type-id-28' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_ether_addr*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- int __interceptor_initgroups(char*, __sanitizer::u32) -->
      -    <function-decl name='__interceptor_initgroups' mangled-name='initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initgroups'>
      +    <function-decl name='__interceptor_initgroups' mangled-name='__interceptor_initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_initgroups'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
     +       <parameter type-id='type-id-28' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
             <!-- parameter of type 'typedef __sanitizer::u32' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_fstatvfs64(int, void*) -->
      -    <function-decl name='__interceptor_fstatvfs64' mangled-name='fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatvfs64'>
      +    <function-decl name='__interceptor_fstatvfs64' mangled-name='__interceptor_fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatvfs64'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_statvfs64(char*, void*) -->
      -    <function-decl name='__interceptor_statvfs64' mangled-name='statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='statvfs64'>
      +    <function-decl name='__interceptor_statvfs64' mangled-name='__interceptor_statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_statvfs64'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
     +       <parameter type-id='type-id-28' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_fstatfs64(int, void*) -->
      -    <function-decl name='__interceptor_fstatfs64' mangled-name='fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatfs64'>
      +    <function-decl name='__interceptor_fstatfs64' mangled-name='__interceptor_fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatfs64'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- __sanitizer::__sanitizer_mntent* __interceptor_getmntent_r(void*, __sanitizer::__sanitizer_mntent*, char*, int) -->
      -    <function-decl name='__interceptor_getmntent_r' mangled-name='getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getmntent_r'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='fp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_mntent*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_cond_signal(void*) -->
      -    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_cond_signal'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_mutex_lock(void*) -->
      -    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_lock'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <!-- parameter of type 'void*' -->
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- void __interceptor__exit(int) -->
      -    <function-decl name='__interceptor__exit' mangled-name='_exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_exit'>
      +    <function-decl name='__interceptor__exit' mangled-name='__interceptor__exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor__exit'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- void -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sigpending(__sanitizer::__sanitizer_sigset_t*) -->
      -    <function-decl name='__interceptor_sigpending' mangled-name='sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigpending'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <!-- parameter of type '__sanitizer::__sanitizer_sigset_t*' -->
             <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
             <!-- int -->
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sigfillset(__sanitizer::__sanitizer_sigset_t*) -->
      -    <function-decl name='__interceptor_sigfillset' mangled-name='sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigfillset'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sigwaitinfo(__sanitizer::__sanitizer_sigset_t*, void*) -->
      -    <function-decl name='__interceptor_sigwaitinfo' mangled-name='sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigwaitinfo'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_ppoll(__sanitizer::__sanitizer_pollfd*, __sanitizer::__sanitizer_nfds_t, void*, __sanitizer::__sanitizer_sigset_t*) -->
      -    <function-decl name='__interceptor_ppoll' mangled-name='ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ppoll'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1196' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
             <!-- parameter of type 'typedef __sanitizer::__sanitizer_nfds_t' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_poll(__sanitizer::__sanitizer_pollfd*, __sanitizer::__sanitizer_nfds_t, int) -->
      -    <function-decl name='__interceptor_poll' mangled-name='poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='poll'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1196' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
             <!-- parameter of type 'typedef __sanitizer::__sanitizer_nfds_t' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___xpg_strerror_r(int, char*, SIZE_T) -->
      -    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xpg_strerror_r'>
      +    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__interceptor___xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xpg_strerror_r'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
     +       <parameter type-id='type-id-10' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- char* __interceptor_strerror_r(int, char*, SIZE_T) -->
      -    <function-decl name='__interceptor_strerror_r' mangled-name='strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strerror_r'>
      +    <function-decl name='__interceptor_strerror_r' mangled-name='__interceptor_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strerror_r'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
     +       <parameter type-id='type-id-10' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- int __interceptor_sched_getaffinity(int, SIZE_T, void*) -->
      -    <function-decl name='__interceptor_sched_getaffinity' mangled-name='sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_getaffinity'>
      +    <function-decl name='__interceptor_sched_getaffinity' mangled-name='__interceptor_sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sched_getaffinity'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
     +       <parameter type-id='type-id-10' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
             <!-- parameter of type 'typedef SIZE_T' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- SIZE_T __interceptor_confstr(int, char*, SIZE_T) -->
      -    <function-decl name='__interceptor_confstr' mangled-name='confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='confstr'>
      +    <function-decl name='__interceptor_confstr' mangled-name='__interceptor_confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_confstr'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
     +       <parameter type-id='type-id-10' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
             <return type-id='type-id-617'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_wcsrtombs' mangled-name='wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wcsrtombs'>
      +    <function-decl name='__interceptor_wcsrtombs' mangled-name='__interceptor_wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wcsrtombs'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
     +       <parameter type-id='type-id-28' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
             <!-- parameter of type 'const wchar_t**' -->
      @@
             <return type-id='type-id-617'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_get_current_dir_name' mangled-name='get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_current_dir_name'>
      +    <function-decl name='__interceptor_get_current_dir_name' mangled-name='__interceptor_get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_get_current_dir_name'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
     +       <parameter type-id='type-id-10' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
             <!-- char* -->
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- char* __interceptor_getcwd(char*, SIZE_T) -->
      -    <function-decl name='__interceptor_getcwd' mangled-name='getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getcwd'>
      +    <function-decl name='__interceptor_getcwd' mangled-name='__interceptor_getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getcwd'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
             <!-- parameter of type 'typedef SIZE_T' -->
      @@
             <return type-id='type-id-1164'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <!-- parameter of type 'void*' -->
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_getpeername(int, void*, unsigned int*) -->
      -    <function-decl name='__interceptor_getpeername' mangled-name='getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getpeername'>
      +    <function-decl name='__interceptor_getpeername' mangled-name='__interceptor_getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getpeername'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
     +       <parameter type-id='type-id-10' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-588' name='x' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1377' column='1'/>
             <!-- parameter of type 'float*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_gethostbyname_r(char*, __sanitizer::__sanitizer_hostent*, char*, SIZE_T, __sanitizer::__sanitizer_hostent**, int*) -->
      -    <function-decl name='__interceptor_gethostbyname_r' mangled-name='gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname_r'>
      +    <function-decl name='__interceptor_gethostbyname_r' mangled-name='__interceptor_gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname_r'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
     +       <parameter type-id='type-id-28' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_hostent*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_gethostbyaddr_r(void*, int, int, __sanitizer::__sanitizer_hostent*, char*, SIZE_T, __sanitizer::__sanitizer_hostent**, int*) -->
      -    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyaddr_r'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_gethostbyname' mangled-name='gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname'>
      +    <function-decl name='__interceptor_gethostbyname' mangled-name='__interceptor_gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
     +       <parameter type-id='type-id-28' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
             <!-- __sanitizer::__sanitizer_hostent* -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_inet_aton(const char*, void*) -->
      -    <function-decl name='__interceptor_inet_aton' mangled-name='inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_aton'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- int __interceptor_wait4(int, int*, int, void*) -->
      -    <function-decl name='__interceptor_wait4' mangled-name='wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait4'>
      +    <function-decl name='__interceptor_wait4' mangled-name='__interceptor_wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait4'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
     +       <parameter type-id='type-id-10' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
             <!-- parameter of type 'int*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_wait3(int*, int, void*) -->
      -    <function-decl name='__interceptor_wait3' mangled-name='wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait3'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-42' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_waitid(int, int, void*, int) -->
      -    <function-decl name='__interceptor_waitid' mangled-name='waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='waitid'>
      +    <function-decl name='__interceptor_waitid' mangled-name='__interceptor_waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_waitid'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
     +       <parameter type-id='type-id-10' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_getitimer(int, void*) -->
      -    <function-decl name='__interceptor_getitimer' mangled-name='getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getitimer'>
      +    <function-decl name='__interceptor_getitimer' mangled-name='__interceptor_getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getitimer'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_clock_settime(__sanitizer::u32, void*) -->
      -    <function-decl name='__interceptor_clock_settime' mangled-name='clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_settime'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_clock_gettime(__sanitizer::u32, void*) -->
      -    <function-decl name='__interceptor_clock_gettime' mangled-name='clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_gettime'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_ioctl(int, unsigned int, void*) -->
      -    <function-decl name='__interceptor_ioctl' mangled-name='ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ioctl'>
      +    <function-decl name='__interceptor_ioctl' mangled-name='__interceptor_ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ioctl'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
     +       <parameter type-id='type-id-10' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
             <!-- parameter of type 'unsigned int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___isoc99_vfscanf(void*, const char*, typedef __va_list_tag __va_list_tag*) -->
      -    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vfscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___isoc99_fscanf(void*, const char*, ...) -->
      -    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_fscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___isoc99_vsscanf(const char*, const char*, typedef __va_list_tag __va_list_tag*) -->
      -    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vsscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___isoc99_sscanf(const char*, const char*, ...) -->
      -    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_sscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___isoc99_vscanf(const char*, typedef __va_list_tag __va_list_tag*) -->
      -    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
             <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___isoc99_scanf(const char*, ...) -->
      -    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_scanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
             <parameter is-variadic='yes'/>
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_vfscanf(void*, const char*, typedef __va_list_tag __va_list_tag*) -->
      -    <function-decl name='__interceptor_vfscanf' mangled-name='vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sscanf(const char*, const char*, ...) -->
      -    <function-decl name='__interceptor_sscanf' mangled-name='sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_vscanf(const char*, typedef __va_list_tag __va_list_tag*) -->
      -    <function-decl name='__interceptor_vscanf' mangled-name='vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vscanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
             <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_scanf(const char*, ...) -->
      -    <function-decl name='__interceptor_scanf' mangled-name='scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scanf'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
             <parameter is-variadic='yes'/>
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- char* __interceptor_asctime_r(__sanitizer::__sanitizer_tm*, char*) -->
      -    <function-decl name='__interceptor_asctime_r' mangled-name='asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='asctime_r'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- char* __interceptor_ctime_r(unsigned long int*, char*) -->
      -    <function-decl name='__interceptor_ctime_r' mangled-name='ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime_r'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- char* __interceptor_ctime(unsigned long int*) -->
      -    <function-decl name='__interceptor_ctime' mangled-name='ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_prctl' mangled-name='prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prctl'>
      +    <function-decl name='__interceptor_prctl' mangled-name='__interceptor_prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_prctl'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
     +       <parameter type-id='type-id-10' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
             <!-- parameter of type 'unsigned long int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- SSIZE_T __interceptor_pwritev64(int, __sanitizer::__sanitizer_iovec*, int, OFF64_T) -->
      -    <function-decl name='__interceptor_pwritev64' mangled-name='pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev64'>
      +    <function-decl name='__interceptor_pwritev64' mangled-name='__interceptor_pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev64'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_pwritev' mangled-name='pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev'>
      +    <function-decl name='__interceptor_pwritev' mangled-name='__interceptor_pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_pwrite64' mangled-name='pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite64'>
      +    <function-decl name='__interceptor_pwrite64' mangled-name='__interceptor_pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite64'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_pwrite' mangled-name='pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite'>
      +    <function-decl name='__interceptor_pwrite' mangled-name='__interceptor_pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_write' mangled-name='write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='write'>
      +    <function-decl name='__interceptor_write' mangled-name='__interceptor_write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_write'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_preadv64' mangled-name='preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv64'>
      +    <function-decl name='__interceptor_preadv64' mangled-name='__interceptor_preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv64'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_preadv' mangled-name='preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv'>
      +    <function-decl name='__interceptor_preadv' mangled-name='__interceptor_preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_readv' mangled-name='readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readv'>
      +    <function-decl name='__interceptor_readv' mangled-name='__interceptor_readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readv'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
             <!-- parameter of type '__sanitizer::__sanitizer_iovec*' -->
      @@
             <return type-id='type-id-619'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_read' mangled-name='read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='read'>
      +    <function-decl name='__interceptor_read' mangled-name='__interceptor_read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_read'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
             <return type-id='type-id-592'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='s1' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- char* __interceptor_textdomain(const char*) -->
      -    <function-decl name='__interceptor_textdomain' mangled-name='textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='textdomain'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2'/>
             <!-- char* -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_gettimeofday(void*, void*) -->
      -    <function-decl name='__interceptor_gettimeofday' mangled-name='gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gettimeofday'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_kill(void*, int) -->
      -    <function-decl name='__interceptor_pthread_kill' mangled-name='pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_kill'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sigaction(int, sigaction_t*, sigaction_t*) -->
      -    <function-decl name='__interceptor_sigaction' mangled-name='sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigaction'>
      +    <function-decl name='__interceptor_sigaction' mangled-name='__interceptor_sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigaction'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
     +       <parameter type-id='type-id-10' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
             <!-- parameter of type 'sigaction_t*' -->
      @@
             <return type-id='type-id-635'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_epoll_wait' mangled-name='epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_wait'>
      +    <function-decl name='__interceptor_epoll_wait' mangled-name='__interceptor_epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_wait'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
     +       <parameter type-id='type-id-10' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_epoll_ctl(int, int, int, void*) -->
      -    <function-decl name='__interceptor_epoll_ctl' mangled-name='epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_ctl'>
      +    <function-decl name='__interceptor_epoll_ctl' mangled-name='__interceptor_epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_ctl'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
     +       <parameter type-id='type-id-10' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
             <!-- parameter of type 'int' -->
      @@
             <return type-id='type-id-1'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_rmdir' mangled-name='rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdir'>
      +    <function-decl name='__interceptor_rmdir' mangled-name='__interceptor_rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_rmdir'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
     +       <parameter type-id='type-id-28' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- void __interceptor_abort(int) -->
      -    <function-decl name='__interceptor_abort' mangled-name='abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='abort'>
      +    <function-decl name='__interceptor_abort' mangled-name='__interceptor_abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_abort'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- void -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- __sanitizer::uptr __interceptor_fwrite(void*, __sanitizer::uptr, __sanitizer::uptr, void*) -->
      -    <function-decl name='__interceptor_fwrite' mangled-name='fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwrite'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_unlink' mangled-name='unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unlink'>
      +    <function-decl name='__interceptor_unlink' mangled-name='__interceptor_unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_unlink'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
     +       <parameter type-id='type-id-28' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
             <!-- int -->
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- long_t __interceptor_recv(int, void*, long_t, int) -->
      -    <function-decl name='__interceptor_recv' mangled-name='recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='recv'>
      +    <function-decl name='__interceptor_recv' mangled-name='__interceptor_recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_recv'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
             <return type-id='type-id-638'/>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_send' mangled-name='send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send'>
      +    <function-decl name='__interceptor_send' mangled-name='__interceptor_send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_send'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_close(int) -->
      -    <function-decl name='__interceptor_close' mangled-name='close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='close'>
      +    <function-decl name='__interceptor_close' mangled-name='__interceptor_close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_close'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- int -->
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_epoll_create1(int) -->
      -    <function-decl name='__interceptor_epoll_create1' mangled-name='epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_create1'>
      +    <function-decl name='__interceptor_epoll_create1' mangled-name='__interceptor_epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_create1'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_bind(int, void*, unsigned int) -->
      -    <function-decl name='__interceptor_bind' mangled-name='bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bind'>
      +    <function-decl name='__interceptor_bind' mangled-name='__interceptor_bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_bind'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_connect(int, void*, unsigned int) -->
      -    <function-decl name='__interceptor_connect' mangled-name='connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='connect'>
      +    <function-decl name='__interceptor_connect' mangled-name='__interceptor_connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_connect'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_inotify_init1(int) -->
      -    <function-decl name='__interceptor_inotify_init1' mangled-name='inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inotify_init1'>
      +    <function-decl name='__interceptor_inotify_init1' mangled-name='__interceptor_inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inotify_init1'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_signalfd(int, void*, int) -->
      -    <function-decl name='__interceptor_signalfd' mangled-name='signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='signalfd'>
      +    <function-decl name='__interceptor_signalfd' mangled-name='__interceptor_signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_signalfd'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_eventfd(unsigned int, int) -->
      -    <function-decl name='__interceptor_eventfd' mangled-name='eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eventfd'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-211' name='initval' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_dup2(int, int) -->
      -    <function-decl name='__interceptor_dup2' mangled-name='dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup2'>
      +    <function-decl name='__interceptor_dup2' mangled-name='__interceptor_dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup2'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_dup(int) -->
      -    <function-decl name='__interceptor_dup' mangled-name='dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup'>
      +    <function-decl name='__interceptor_dup' mangled-name='__interceptor_dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_open(const char*, int, int) -->
      -    <function-decl name='__interceptor_open' mangled-name='open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='open'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_lstat64(const char*, void*) -->
      -    <function-decl name='__interceptor_lstat64' mangled-name='lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lstat64'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___lxstat64(int, const char*, void*) -->
      -    <function-decl name='__interceptor___lxstat64' mangled-name='__lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat64'>
      +    <function-decl name='__interceptor___lxstat64' mangled-name='__interceptor___lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat64'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
     +       <parameter type-id='type-id-10' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___lxstat(int, const char*, void*) -->
      -    <function-decl name='__interceptor___lxstat' mangled-name='__lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat'>
      +    <function-decl name='__interceptor___lxstat' mangled-name='__interceptor___lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
     +       <parameter type-id='type-id-10' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor___xstat64(int, const char*, void*) -->
      -    <function-decl name='__interceptor___xstat64' mangled-name='__xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xstat64'>
      +    <function-decl name='__interceptor___xstat64' mangled-name='__interceptor___xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xstat64'>
             <!-- parameter of type 'int' -->
     -       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
     +       <parameter type-id='type-id-10' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <!-- parameter of type 'const char*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_stat(const char*, void*) -->
      -    <function-decl name='__interceptor_stat' mangled-name='stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='stat'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sem_timedwait(void*, void*) -->
      -    <function-decl name='__interceptor_sem_timedwait' mangled-name='sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_timedwait'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sem_destroy(void*) -->
      -    <function-decl name='__interceptor_sem_destroy' mangled-name='sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_destroy'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <!-- parameter of type 'void*' -->
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_sem_init(void*, int, unsigned int) -->
      -    <function-decl name='__interceptor_sem_init' mangled-name='sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_init'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_once(void*, void ()*) -->
      -    <function-decl name='__interceptor_pthread_once' mangled-name='pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_once'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='o' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
             <!-- parameter of type 'void ()*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_barrier_init(void*, void*, unsigned int) -->
      -    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_barrier_init'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='b' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_rwlock_trywrlock(void*) -->
      -    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_trywrlock'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_rwlock_timedrdlock(void*, void*) -->
      -    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_timedrdlock'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_rwlock_tryrdlock(void*) -->
      -    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_tryrdlock'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_spin_lock(void*) -->
      -    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_lock'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_spin_init(void*, int) -->
      -    <function-decl name='__interceptor_pthread_spin_init' mangled-name='pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_init'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_mutex_trylock(void*) -->
      -    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_trylock'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
             <!-- int -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- int __interceptor_pthread_mutex_init(void*, void*) -->
      -    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_init'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_strncpy' mangled-name='strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
      +    <function-decl name='__interceptor_strncpy' mangled-name='__interceptor_strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncpy'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
     +       <parameter type-id='type-id-28' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
             <!-- parameter of type 'char*' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- char* __interceptor_strrchr(char*, int) -->
      -    <function-decl name='__interceptor_strrchr' mangled-name='strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strrchr'>
      +    <function-decl name='__interceptor_strrchr' mangled-name='__interceptor_strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strrchr'>
             <!-- parameter of type 'char*' -->
     -       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
     +       <parameter type-id='type-id-28' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
             <!-- parameter of type 'int' -->
      @@
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
           <!-- void* __interceptor_memmove(void*, void*, __sanitizer::uptr) -->
      -    <function-decl name='__interceptor_memmove' mangled-name='memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memmove'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- void* __interceptor_memcpy(void*, void*, __sanitizer::uptr) -->
      -    <function-decl name='__interceptor_memcpy' mangled-name='memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcpy'>
     @@ tests/data/test-annotate/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <!-- parameter of type 'void*' -->
      @@
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
           <!-- unsigned int __interceptor_sleep(unsigned int) -->
      -    <function-decl name='__interceptor_sleep' mangled-name='sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sleep'>
     @@ tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt: Variables changes
             in pointed to type 'struct S':
               type size changed from 32 to 64 (in bits)
               1 data member insertion:
     -           'int S::m1', at offset 32 (in bits)
     +           'int m1', at offset 32 (in bits)
       
      -  [C] 'method S::S(int)' has some indirect sub-type changes:
      +  [C] 'method S::S()' has some indirect sub-type changes:
     @@ tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
      
       ## tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt ##
      @@
     --Functions changes summary: 0 Removed, 5 Changed (195 filtered out), 13 Added functions
     -+Functions changes summary: 0 Removed, 5 Changed (206 filtered out), 13 Added functions
     +-Functions changes summary: 0 Removed, 11 Changed (189 filtered out), 13 Added functions
     ++Functions changes summary: 0 Removed, 11 Changed (200 filtered out), 13 Added functions
       Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
       Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
       Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info
      @@ tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
     -                     no member function changes (10 filtered);
     +     parameter 2 of type 'void**' was removed
       
         [C] 'method std::codecvt_byname<wchar_t, char, __mbstate_t>* std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(const char*, std::size_t)' has some indirect sub-type changes:
      -    Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
     @@ tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt: Variable symb
      
       ## tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt ##
      @@
     --Functions changes summary: 0 Removed, 5 Changed (195 filtered out), 13 Added functions
     -+Functions changes summary: 0 Removed, 5 Changed (206 filtered out), 13 Added functions
     +-Functions changes summary: 0 Removed, 11 Changed (189 filtered out), 13 Added functions
     ++Functions changes summary: 0 Removed, 11 Changed (200 filtered out), 13 Added functions
       Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
       Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
       Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info
      @@ tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt: Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
     -                     no member function changes (10 filtered);
     +     parameter 2 of type 'void**' was removed
       
         [C] 'method std::codecvt_byname<wchar_t, char, __mbstate_t>* std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(const char*, std::size_t)' at codecvt.h:462:1 has some indirect sub-type changes:
      -    Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
     @@ tests/data/test-read-dwarf/test12-pr18844.so.abi
                 <member-function access='public' constructor='yes'>
      -            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE'>
      +            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE'>
     -               <parameter type-id='type-id-3644' is-artificial='yes'/>
     +               <parameter type-id='type-id-3646' is-artificial='yes'/>
                     <parameter type-id='type-id-3682'/>
                     <return type-id='type-id-60'/>
                   </function-decl>
     @@ tests/data/test-read-dwarf/test12-pr18844.so.abi
                 <member-function access='public' destructor='yes'>
      -            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD1Ev'>
      +            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD2Ev'>
     -               <parameter type-id='type-id-3644' is-artificial='yes'/>
     +               <parameter type-id='type-id-3646' is-artificial='yes'/>
                     <return type-id='type-id-60'/>
                   </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test12-pr18844.so.abi
                 <member-function access='public' constructor='yes'>
      -            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC1EPNS0_22ScatterGatherAlgorithmE'>
      +            <function-decl name='ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerC2EPNS0_22ScatterGatherAlgorithmE'>
     -               <parameter type-id='type-id-3644' is-artificial='yes'/>
     +               <parameter type-id='type-id-3646' is-artificial='yes'/>
                     <parameter type-id='type-id-3682'/>
                     <return type-id='type-id-60'/>
                   </function-decl>
     @@ tests/data/test-read-dwarf/test12-pr18844.so.abi
                 <member-function access='public' destructor='yes'>
      -            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD1Ev'>
      +            <function-decl name='~ScatterGatherRunner' mangled-name='_ZN5mongo4repl19ScatterGatherRunnerD2Ev' filepath='src/mongo/db/repl/scatter_gather_runner.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo4repl19ScatterGatherRunnerD2Ev'>
     -               <parameter type-id='type-id-3644' is-artificial='yes'/>
     +               <parameter type-id='type-id-3646' is-artificial='yes'/>
                     <return type-id='type-id-60'/>
                   </function-decl>
      
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
      +    <function-decl name='__interceptor_mlock' mangled-name='__interceptor_mlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlock'>
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
             <parameter type-id='type-id-106' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_munlock' mangled-name='munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='munlock'>
      +    <function-decl name='__interceptor_munlock' mangled-name='__interceptor_munlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_munlock'>
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
             <parameter type-id='type-id-106' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1791' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_mlockall' mangled-name='mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mlockall'>
      +    <function-decl name='__interceptor_mlockall' mangled-name='__interceptor_mlockall' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mlockall'>
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='tms' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2896' column='1'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2840' column='1'/>
      @@
             <parameter type-id='type-id-1376' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2825' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_drand48_r' mangled-name='drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drand48_r'>
      +    <function-decl name='__interceptor_drand48_r' mangled-name='__interceptor_drand48_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_drand48_r'>
             <parameter type-id='type-id-1' name='buffer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
             <parameter type-id='type-id-1266' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2818' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-42' name='signp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2795' column='1'/>
             <return type-id='type-id-588'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-1266' name='cos' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2697' column='1'/>
      @@
             <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2685' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_tempnam' mangled-name='tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tempnam'>
      +    <function-decl name='__interceptor_tempnam' mangled-name='__interceptor_tempnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tempnam'>
     -       <parameter type-id='type-id-27' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
     -       <parameter type-id='type-id-27' name='pfx' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='dir' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
     +       <parameter type-id='type-id-28' name='pfx' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2670' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_tmpnam_r' mangled-name='tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam_r'>
      +    <function-decl name='__interceptor_tmpnam_r' mangled-name='__interceptor_tmpnam_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam_r'>
     -       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_tmpnam' mangled-name='tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tmpnam'>
      +    <function-decl name='__interceptor_tmpnam' mangled-name='__interceptor_tmpnam' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_tmpnam'>
     -       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='s' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2657' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getaffinity_np'>
      +    <function-decl name='__interceptor_pthread_attr_getaffinity_np' mangled-name='__interceptor_pthread_attr_getaffinity_np' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getaffinity_np'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='cpuset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2621' column='1'/>
      @@
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getstack'>
      +    <function-decl name='__interceptor_pthread_attr_getstack' mangled-name='__interceptor_pthread_attr_getstack' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getstack'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-1137' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2581' column='1'/>
      @@
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getscope'>
      +    <function-decl name='__interceptor_pthread_attr_getscope' mangled-name='__interceptor_pthread_attr_getscope' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getscope'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getschedpolicy'>
      +    <function-decl name='__interceptor_pthread_attr_getschedpolicy' mangled-name='__interceptor_pthread_attr_getschedpolicy' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getschedpolicy'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getguardsize'>
      +    <function-decl name='__interceptor_pthread_attr_getguardsize' mangled-name='__interceptor_pthread_attr_getguardsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getguardsize'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_attr_getdetachstate'>
      +    <function-decl name='__interceptor_pthread_attr_getdetachstate' mangled-name='__interceptor_pthread_attr_getdetachstate' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_attr_getdetachstate'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2527' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_ether_aton_r' mangled-name='ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_aton_r'>
      +    <function-decl name='__interceptor_ether_aton_r' mangled-name='__interceptor_ether_aton_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_aton_r'>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
             <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2510' column='1'/>
             <return type-id='type-id-1169'/>
           </function-decl>
      -    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntoa_r'>
      +    <function-decl name='__interceptor_ether_ntoa_r' mangled-name='__interceptor_ether_ntoa_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntoa_r'>
             <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2502' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_ether_line' mangled-name='ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_line'>
      +    <function-decl name='__interceptor_ether_line' mangled-name='__interceptor_ether_line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_line'>
     -       <parameter type-id='type-id-27' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
     +       <parameter type-id='type-id-28' name='line' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
             <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
     -       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-28' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2478' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_ether_hostton' mangled-name='ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_hostton'>
      +    <function-decl name='__interceptor_ether_hostton' mangled-name='__interceptor_ether_hostton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_hostton'>
     -       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
     +       <parameter type-id='type-id-28' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
             <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_ether_ntohost' mangled-name='ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_ntohost'>
      +    <function-decl name='__interceptor_ether_ntohost' mangled-name='__interceptor_ether_ntohost' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ether_ntohost'>
     -       <parameter type-id='type-id-27' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
     +       <parameter type-id='type-id-28' name='hostname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
             <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2469' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1169' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2444' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_initgroups' mangled-name='initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initgroups'>
      +    <function-decl name='__interceptor_initgroups' mangled-name='__interceptor_initgroups' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_initgroups'>
     -       <parameter type-id='type-id-27' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
     +       <parameter type-id='type-id-28' name='user' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
             <parameter type-id='type-id-284' name='group' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2431' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_fstatvfs64' mangled-name='fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatvfs64'>
      +    <function-decl name='__interceptor_fstatvfs64' mangled-name='__interceptor_fstatvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatvfs64'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_statvfs64' mangled-name='statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='statvfs64'>
      +    <function-decl name='__interceptor_statvfs64' mangled-name='__interceptor_statvfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_statvfs64'>
     -       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
     +       <parameter type-id='type-id-28' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_fstatfs64' mangled-name='fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fstatfs64'>
      +    <function-decl name='__interceptor_fstatfs64' mangled-name='__interceptor_fstatfs64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fstatfs64'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2408' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_getmntent_r' mangled-name='getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getmntent_r'>
      +    <function-decl name='__interceptor_getmntent_r' mangled-name='__interceptor_getmntent_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getmntent_r'>
             <parameter type-id='type-id-1' name='fp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
             <parameter type-id='type-id-1188' name='mntbuf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2325' column='1'/>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_cond_signal'>
      +    <function-decl name='__interceptor_pthread_cond_signal' mangled-name='__interceptor_pthread_cond_signal' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_cond_signal'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_lock'>
      +    <function-decl name='__interceptor_pthread_mutex_lock' mangled-name='__interceptor_pthread_mutex_lock' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_lock'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor__exit' mangled-name='_exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_exit'>
      +    <function-decl name='__interceptor__exit' mangled-name='__interceptor__exit' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor__exit'>
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <return type-id='type-id-4'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1197' name='oldset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2161' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sigpending' mangled-name='sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigpending'>
      +    <function-decl name='__interceptor_sigpending' mangled-name='__interceptor_sigpending' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigpending'>
             <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sigfillset' mangled-name='sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigfillset'>
      +    <function-decl name='__interceptor_sigfillset' mangled-name='__interceptor_sigfillset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigfillset'>
             <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2148' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='timeout' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2109' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sigwaitinfo' mangled-name='sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigwaitinfo'>
      +    <function-decl name='__interceptor_sigwaitinfo' mangled-name='__interceptor_sigwaitinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigwaitinfo'>
             <parameter type-id='type-id-1197' name='set' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
             <parameter type-id='type-id-1' name='info' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2095' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
     -       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2058' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2058' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_ppoll' mangled-name='ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ppoll'>
      +    <function-decl name='__interceptor_ppoll' mangled-name='__interceptor_ppoll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ppoll'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-1440' name='nfds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
             <parameter type-id='type-id-1' name='timeout_ts' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
             <parameter type-id='type-id-1197' name='sigmask' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2039' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_poll' mangled-name='poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='poll'>
      +    <function-decl name='__interceptor_poll' mangled-name='__interceptor_poll' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_poll'>
             <parameter type-id='type-id-1196' name='fds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
             <parameter type-id='type-id-1440' name='nfds' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
     -       <parameter type-id='type-id-25' name='timeout' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
     +       <parameter type-id='type-id-10' name='timeout' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2024' column='1'/>
      @@
             <parameter type-id='type-id-627' name='compar' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1913' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xpg_strerror_r'>
      +    <function-decl name='__interceptor___xpg_strerror_r' mangled-name='__interceptor___xpg_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xpg_strerror_r'>
     -       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
     +       <parameter type-id='type-id-10' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
             <parameter type-id='type-id-617' name='buflen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1874' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_strerror_r' mangled-name='strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strerror_r'>
      +    <function-decl name='__interceptor_strerror_r' mangled-name='__interceptor_strerror_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strerror_r'>
     -       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
     +       <parameter type-id='type-id-10' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
             <parameter type-id='type-id-617' name='buflen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1846' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-10' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_sched_getaffinity' mangled-name='sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_getaffinity'>
      +    <function-decl name='__interceptor_sched_getaffinity' mangled-name='__interceptor_sched_getaffinity' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sched_getaffinity'>
     -       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
     +       <parameter type-id='type-id-10' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
             <parameter type-id='type-id-617' name='cpusetsize' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
             <parameter type-id='type-id-1' name='mask' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1820' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_confstr' mangled-name='confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='confstr'>
      +    <function-decl name='__interceptor_confstr' mangled-name='__interceptor_confstr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_confstr'>
     -       <parameter type-id='type-id-25' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
     +       <parameter type-id='type-id-10' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
             <parameter type-id='type-id-617' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1806' column='1'/>
             <return type-id='type-id-617'/>
           </function-decl>
      -    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='canonicalize_file_name'>
      +    <function-decl name='__interceptor_canonicalize_file_name' mangled-name='__interceptor_canonicalize_file_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_canonicalize_file_name'>
             <parameter type-id='type-id-2'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='ps' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1729' column='1'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
           </function-decl>
      -    <function-decl name='__interceptor_wcsrtombs' mangled-name='wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wcsrtombs'>
      +    <function-decl name='__interceptor_wcsrtombs' mangled-name='__interceptor_wcsrtombs' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wcsrtombs'>
     -       <parameter type-id='type-id-27' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
     +       <parameter type-id='type-id-28' name='dest' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
             <parameter type-id='type-id-1261' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
             <parameter type-id='type-id-617' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1707' column='1'/>
      @@
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
      +    <function-decl name='__interceptor_strtoumax' mangled-name='__interceptor_strtoumax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoumax'>
             <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
             <parameter type-id='type-id-1227' name='endptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
     -       <parameter type-id='type-id-25' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
     +       <parameter type-id='type-id-10' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
             <return type-id='type-id-629'/>
           </function-decl>
      -    <function-decl name='__interceptor_strtoimax' mangled-name='strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strtoimax'>
      +    <function-decl name='__interceptor_strtoimax' mangled-name='__interceptor_strtoimax' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strtoimax'>
             <parameter type-id='type-id-2' name='nptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
             <parameter type-id='type-id-1227' name='endptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
     -       <parameter type-id='type-id-25' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
     +       <parameter type-id='type-id-10' name='base' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1622' column='1'/>
             <return type-id='type-id-629'/>
           </function-decl>
      -    <function-decl name='__interceptor_get_current_dir_name' mangled-name='get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_current_dir_name'>
      +    <function-decl name='__interceptor_get_current_dir_name' mangled-name='__interceptor_get_current_dir_name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_get_current_dir_name'>
     -       <parameter type-id='type-id-25' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-10' name='errnum' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1833' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_getcwd' mangled-name='getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getcwd'>
      +    <function-decl name='__interceptor_getcwd' mangled-name='__interceptor_getcwd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getcwd'>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
             <parameter type-id='type-id-617' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1586' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
      @@
             <parameter type-id='type-id-1' name='dirp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1496' column='1'/>
             <return type-id='type-id-1164'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_sysinfo' mangled-name='sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysinfo'>
      +    <function-decl name='__interceptor_sysinfo' mangled-name='__interceptor_sysinfo' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sysinfo'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_getpeername' mangled-name='getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getpeername'>
      +    <function-decl name='__interceptor_getpeername' mangled-name='__interceptor_getpeername' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getpeername'>
     -       <parameter type-id='type-id-25' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
     +       <parameter type-id='type-id-10' name='sockfd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
             <parameter type-id='type-id-219' name='addrlen' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1437' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1417' column='1'/>
     +       <parameter type-id='type-id-10' name='flags' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1417' column='1'/>
             <return type-id='type-id-619'/>
           </function-decl>
      -    <function-decl name='__interceptor_modfl' mangled-name='modfl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='modfl'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <return type-id='type-id-588'/>
      @@
             <parameter type-id='type-id-42' name='h_errnop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1279' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_gethostbyname_r' mangled-name='gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname_r'>
      +    <function-decl name='__interceptor_gethostbyname_r' mangled-name='__interceptor_gethostbyname_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname_r'>
     -       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
     +       <parameter type-id='type-id-28' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
             <parameter type-id='type-id-1173' name='ret' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
     -       <parameter type-id='type-id-27' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
     +       <parameter type-id='type-id-28' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
      @@
             <parameter type-id='type-id-42' name='h_errnop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1261' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyaddr_r'>
      +    <function-decl name='__interceptor_gethostbyaddr_r' mangled-name='__interceptor_gethostbyaddr_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyaddr_r'>
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
     -       <parameter type-id='type-id-25' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
     -       <parameter type-id='type-id-25' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
     +       <parameter type-id='type-id-10' name='len' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
     +       <parameter type-id='type-id-10' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1241' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1189' column='1'/>
     +       <parameter type-id='type-id-10' name='type' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1189' column='1'/>
             <return type-id='type-id-1173'/>
           </function-decl>
      -    <function-decl name='__interceptor_gethostbyname' mangled-name='gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gethostbyname'>
      +    <function-decl name='__interceptor_gethostbyname' mangled-name='__interceptor_gethostbyname' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gethostbyname'>
     -       <parameter type-id='type-id-27' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
     +       <parameter type-id='type-id-28' name='name' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1181' column='1'/>
             <return type-id='type-id-1173'/>
           </function-decl>
      @@
             <parameter type-id='type-id-42' name='param' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1070' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_inet_aton' mangled-name='inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_aton'>
      +    <function-decl name='__interceptor_inet_aton' mangled-name='__interceptor_inet_aton' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inet_aton'>
             <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-284' name='size' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1024' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_wait4' mangled-name='wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait4'>
      +    <function-decl name='__interceptor_wait4' mangled-name='__interceptor_wait4' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait4'>
     -       <parameter type-id='type-id-25' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
     +       <parameter type-id='type-id-10' name='pid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
             <parameter type-id='type-id-42' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
     -       <parameter type-id='type-id-25' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
     +       <parameter type-id='type-id-10' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
             <parameter type-id='type-id-1' name='rusage' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1003' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_wait3' mangled-name='wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait3'>
      +    <function-decl name='__interceptor_wait3' mangled-name='__interceptor_wait3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_wait3'>
             <parameter type-id='type-id-42' name='status' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
     -       <parameter type-id='type-id-25' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
     +       <parameter type-id='type-id-10' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
             <parameter type-id='type-id-1' name='rusage' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='993' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='985' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='options' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='985' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_waitid' mangled-name='waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='waitid'>
      +    <function-decl name='__interceptor_waitid' mangled-name='__interceptor_waitid' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_waitid'>
     -       <parameter type-id='type-id-25' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
     -       <parameter type-id='type-id-25' name='id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
     +       <parameter type-id='type-id-10' name='idtype' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
     +       <parameter type-id='type-id-10' name='id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
             <parameter type-id='type-id-1' name='infop' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='976' column='1'/>
      @@
             <parameter type-id='type-id-1' name='old_value' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='832' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_getitimer' mangled-name='getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getitimer'>
      +    <function-decl name='__interceptor_getitimer' mangled-name='__interceptor_getitimer' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_getitimer'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2416' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_clock_settime' mangled-name='clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_settime'>
      +    <function-decl name='__interceptor_clock_settime' mangled-name='__interceptor_clock_settime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_settime'>
             <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
             <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_clock_gettime' mangled-name='clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clock_gettime'>
      +    <function-decl name='__interceptor_clock_gettime' mangled-name='__interceptor_clock_gettime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_clock_gettime'>
             <parameter type-id='type-id-284' name='clk_id' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
             <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='tp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='808' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_ioctl' mangled-name='ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ioctl'>
      +    <function-decl name='__interceptor_ioctl' mangled-name='__interceptor_ioctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ioctl'>
     -       <parameter type-id='type-id-25' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
     +       <parameter type-id='type-id-10' name='d' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
             <parameter type-id='type-id-211' name='request' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
             <parameter type-id='type-id-1' name='arg' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='667' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vfscanf'>
      +    <function-decl name='__interceptor___isoc99_vfscanf' mangled-name='__interceptor___isoc99_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vfscanf'>
             <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
             <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_fscanf'>
      +    <function-decl name='__interceptor___isoc99_fscanf' mangled-name='__interceptor___isoc99_fscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_fscanf'>
             <parameter type-id='type-id-1' name='stream' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='632' column='1'/>
             <parameter is-variadic='yes'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vsscanf'>
      +    <function-decl name='__interceptor___isoc99_vsscanf' mangled-name='__interceptor___isoc99_vsscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vsscanf'>
             <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
             <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_sscanf'>
      +    <function-decl name='__interceptor___isoc99_sscanf' mangled-name='__interceptor___isoc99_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_sscanf'>
             <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
             <parameter is-variadic='yes'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_vscanf'>
      +    <function-decl name='__interceptor___isoc99_vscanf' mangled-name='__interceptor___isoc99_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_vscanf'>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
             <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__isoc99_scanf'>
      +    <function-decl name='__interceptor___isoc99_scanf' mangled-name='__interceptor___isoc99_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___isoc99_scanf'>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
             <parameter is-variadic='yes'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_vfscanf' mangled-name='vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfscanf'>
      +    <function-decl name='__interceptor_vfscanf' mangled-name='__interceptor_vfscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vfscanf'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='604' column='1'/>
      @@
             <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='600' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sscanf' mangled-name='sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
      +    <function-decl name='__interceptor_sscanf' mangled-name='__interceptor_sscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sscanf'>
             <parameter type-id='type-id-2' name='str' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='635' column='1'/>
             <parameter is-variadic='yes'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_vscanf' mangled-name='vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vscanf'>
      +    <function-decl name='__interceptor_vscanf' mangled-name='__interceptor_vscanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_vscanf'>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
             <parameter type-id='type-id-1406' name='ap' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='597' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_scanf' mangled-name='scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scanf'>
      +    <function-decl name='__interceptor_scanf' mangled-name='__interceptor_scanf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_scanf'>
             <parameter type-id='type-id-2' name='format' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='629' column='1'/>
             <parameter is-variadic='yes'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='550' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_asctime_r' mangled-name='asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='asctime_r'>
      +    <function-decl name='__interceptor_asctime_r' mangled-name='__interceptor_asctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_asctime_r'>
             <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
     -       <parameter type-id='type-id-27' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='526' column='1'/>
     +       <return type-id='type-id-28'/>
      @@
             <parameter type-id='type-id-1199' name='tm' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='516' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_ctime_r' mangled-name='ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime_r'>
      +    <function-decl name='__interceptor_ctime_r' mangled-name='__interceptor_ctime_r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime_r'>
             <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
     -       <parameter type-id='type-id-27' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='506' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_ctime' mangled-name='ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ctime'>
      +    <function-decl name='__interceptor_ctime' mangled-name='__interceptor_ctime' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_ctime'>
             <parameter type-id='type-id-183' name='timep' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='496' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='result' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='486' column='1'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
           </function-decl>
      -    <function-decl name='__interceptor_prctl' mangled-name='prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prctl'>
      +    <function-decl name='__interceptor_prctl' mangled-name='__interceptor_prctl' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_prctl'>
     -       <parameter type-id='type-id-25' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
     +       <parameter type-id='type-id-10' name='option' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
             <parameter type-id='type-id-33' name='arg2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
             <parameter type-id='type-id-33' name='arg3' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
      @@
             <parameter type-id='type-id-33' name='arg5' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='411' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pwritev64' mangled-name='pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev64'>
      +    <function-decl name='__interceptor_pwritev64' mangled-name='__interceptor_pwritev64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev64'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     -       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     +       <parameter type-id='type-id-10' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <parameter type-id='type-id-631' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <return type-id='type-id-619'/>
           </function-decl>
      -    <function-decl name='__interceptor_pwritev' mangled-name='pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwritev'>
      +    <function-decl name='__interceptor_pwritev' mangled-name='__interceptor_pwritev' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwritev'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
             <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     -       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     +       <parameter type-id='type-id-10' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
     +       <parameter type-id='type-id-10' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
             <return type-id='type-id-619'/>
           </function-decl>
      -    <function-decl name='__interceptor_pwrite64' mangled-name='pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite64'>
      +    <function-decl name='__interceptor_pwrite64' mangled-name='__interceptor_pwrite64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite64'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
             <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
             <parameter type-id='type-id-631' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
             <parameter type-id='type-id-631' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='347' column='1'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
           </function-decl>
      -    <function-decl name='__interceptor_pwrite' mangled-name='pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwrite'>
      +    <function-decl name='__interceptor_pwrite' mangled-name='__interceptor_pwrite' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pwrite'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
             <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
             <parameter type-id='type-id-617' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
             <parameter type-id='type-id-632' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
           </function-decl>
      -    <function-decl name='__interceptor_write' mangled-name='write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='write'>
      +    <function-decl name='__interceptor_write' mangled-name='__interceptor_write' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_write'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
             <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
             <parameter type-id='type-id-617' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
             <return type-id='type-id-619'/>
           </function-decl>
      -    <function-decl name='__interceptor_preadv64' mangled-name='preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv64'>
      +    <function-decl name='__interceptor_preadv64' mangled-name='__interceptor_preadv64' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv64'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     -       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
     +       <parameter type-id='type-id-10' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <parameter type-id='type-id-631' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='395' column='1'/>
             <return type-id='type-id-619'/>
           </function-decl>
      -    <function-decl name='__interceptor_preadv' mangled-name='preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preadv'>
      +    <function-decl name='__interceptor_preadv' mangled-name='__interceptor_preadv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_preadv'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
             <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     -       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
     +       <parameter type-id='type-id-10' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
             <parameter type-id='type-id-632' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='379' column='1'/>
             <return type-id='type-id-619'/>
           </function-decl>
      -    <function-decl name='__interceptor_readv' mangled-name='readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='readv'>
      +    <function-decl name='__interceptor_readv' mangled-name='__interceptor_readv' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_readv'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
             <parameter type-id='type-id-1185' name='iov' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
     -       <parameter type-id='type-id-25' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
     +       <parameter type-id='type-id-10' name='iovcnt' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='363' column='1'/>
      @@
             <parameter type-id='type-id-632' name='offset' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='332' column='1'/>
             <return type-id='type-id-619'/>
           </function-decl>
      -    <function-decl name='__interceptor_read' mangled-name='read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='read'>
      +    <function-decl name='__interceptor_read' mangled-name='__interceptor_read' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_read'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
             <parameter type-id='type-id-1' name='ptr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
             <parameter type-id='type-id-617' name='count' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='316' column='1'/>
      @@
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-617' name='n' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='141' column='1'/>
      @@
             <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='126' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_textdomain' mangled-name='textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='textdomain'>
      +    <function-decl name='__interceptor_textdomain' mangled-name='__interceptor_textdomain' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_textdomain'>
             <parameter type-id='type-id-2'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='rv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1765' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_gettimeofday' mangled-name='gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gettimeofday'>
      +    <function-decl name='__interceptor_gettimeofday' mangled-name='__interceptor_gettimeofday' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_gettimeofday'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_kill' mangled-name='pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_kill'>
      +    <function-decl name='__interceptor_pthread_kill' mangled-name='__interceptor_pthread_kill' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_kill'>
             <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
     -       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1241' name='mask' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1710' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sigaction' mangled-name='sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigaction'>
      +    <function-decl name='__interceptor_sigaction' mangled-name='__interceptor_sigaction' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sigaction'>
     -       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
     +       <parameter type-id='type-id-10' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
             <parameter type-id='type-id-1381' name='act' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
             <parameter type-id='type-id-1381' name='old' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1678' column='1'/>
      @@
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
           </function-decl>
      -    <function-decl name='__interceptor_epoll_wait' mangled-name='epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_wait'>
      +    <function-decl name='__interceptor_epoll_wait' mangled-name='__interceptor_epoll_wait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_wait'>
     -       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
     +       <parameter type-id='type-id-10' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
             <parameter type-id='type-id-1' name='ev' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
     -       <parameter type-id='type-id-25' name='cnt' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
     -       <parameter type-id='type-id-25' name='timeout' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='cnt' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
     +       <parameter type-id='type-id-10' name='timeout' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1619' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_epoll_ctl' mangled-name='epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_ctl'>
      +    <function-decl name='__interceptor_epoll_ctl' mangled-name='__interceptor_epoll_ctl' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_ctl'>
     -       <parameter type-id='type-id-25' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
     -       <parameter type-id='type-id-25' name='op' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
     +       <parameter type-id='type-id-10' name='epfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
     +       <parameter type-id='type-id-10' name='op' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1607' column='1'/>
      @@
     -       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1599' column='1'/>
     +       <parameter type-id='type-id-28' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1599' column='1'/>
             <return type-id='type-id-1'/>
           </function-decl>
      -    <function-decl name='__interceptor_rmdir' mangled-name='rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdir'>
      +    <function-decl name='__interceptor_rmdir' mangled-name='__interceptor_rmdir' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_rmdir'>
     -       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-28' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-2' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1586' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_abort' mangled-name='abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='abort'>
      +    <function-decl name='__interceptor_abort' mangled-name='__interceptor_abort' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_abort'>
     -       <parameter type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
             <return type-id='type-id-4'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_fwrite' mangled-name='fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwrite'>
      +    <function-decl name='__interceptor_fwrite' mangled-name='__interceptor_fwrite' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_fwrite'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-106' name='size' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
             <parameter type-id='type-id-106' name='nmemb' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1563' column='1'/>
      @@
     -       <parameter type-id='type-id-27' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1512' column='1'/>
     +       <parameter type-id='type-id-28' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1512' column='1'/>
             <return type-id='type-id-1'/>
           </function-decl>
      -    <function-decl name='__interceptor_unlink' mangled-name='unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unlink'>
      +    <function-decl name='__interceptor_unlink' mangled-name='__interceptor_unlink' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_unlink'>
     -       <parameter type-id='type-id-27' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-28' name='path' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1592' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_recv' mangled-name='recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='recv'>
      +    <function-decl name='__interceptor_recv' mangled-name='__interceptor_recv' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_recv'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
             <parameter type-id='type-id-638' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1484' column='1'/>
     +       <parameter type-id='type-id-10' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1484' column='1'/>
             <return type-id='type-id-638'/>
           </function-decl>
      -    <function-decl name='__interceptor_send' mangled-name='send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send'>
      +    <function-decl name='__interceptor_send' mangled-name='__interceptor_send' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_send'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
             <parameter type-id='type-id-638' name='len' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1494' column='1'/>
      @@
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_close' mangled-name='close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='close'>
      +    <function-decl name='__interceptor_close' mangled-name='__interceptor_close' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_close'>
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_epoll_create1' mangled-name='epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='epoll_create1'>
      +    <function-decl name='__interceptor_epoll_create1' mangled-name='__interceptor_epoll_create1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_epoll_create1'>
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_bind' mangled-name='bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bind'>
      +    <function-decl name='__interceptor_bind' mangled-name='__interceptor_bind' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_bind'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
             <parameter type-id='type-id-211' name='addrlen' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_connect' mangled-name='connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='connect'>
      +    <function-decl name='__interceptor_connect' mangled-name='__interceptor_connect' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_connect'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
             <parameter type-id='type-id-211' name='addrlen' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1400' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_inotify_init1' mangled-name='inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inotify_init1'>
      +    <function-decl name='__interceptor_inotify_init1' mangled-name='__interceptor_inotify_init1' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_inotify_init1'>
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_signalfd' mangled-name='signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='signalfd'>
      +    <function-decl name='__interceptor_signalfd' mangled-name='__interceptor_signalfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_signalfd'>
     -       <parameter type-id='type-id-25' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
     +       <parameter type-id='type-id-10' name='fd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
             <parameter type-id='type-id-1' name='mask' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
     -       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1349' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_eventfd' mangled-name='eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eventfd'>
      +    <function-decl name='__interceptor_eventfd' mangled-name='__interceptor_eventfd' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_eventfd'>
             <parameter type-id='type-id-211' name='initval' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
     -       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1341' column='1'/>
     +       <return type-id='type-id-10'/>
      @@
     -       <parameter type-id='type-id-25' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='protocol' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1375' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_dup2' mangled-name='dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup2'>
      +    <function-decl name='__interceptor_dup2' mangled-name='__interceptor_dup2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup2'>
     -       <parameter type-id='type-id-25'/>
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_dup' mangled-name='dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dup'>
      +    <function-decl name='__interceptor_dup' mangled-name='__interceptor_dup' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_dup'>
     -       <parameter type-id='type-id-25'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
     -       <parameter type-id='type-id-25' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_open' mangled-name='open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='open'>
      +    <function-decl name='__interceptor_open' mangled-name='__interceptor_open' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_open'>
             <parameter type-id='type-id-2' name='name' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
     -       <parameter type-id='type-id-25' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
     -       <parameter type-id='type-id-25' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
     +       <parameter type-id='type-id-10' name='flags' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
     +       <parameter type-id='type-id-10' name='mode' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1293' column='1'/>
      @@
             <parameter type-id='type-id-1' name='buf' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2527' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_lstat64' mangled-name='lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lstat64'>
      +    <function-decl name='__interceptor_lstat64' mangled-name='__interceptor_lstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_lstat64'>
             <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___lxstat64' mangled-name='__lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat64'>
      +    <function-decl name='__interceptor___lxstat64' mangled-name='__interceptor___lxstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat64'>
     -       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
     +       <parameter type-id='type-id-10' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
      @@
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___lxstat' mangled-name='__lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__lxstat'>
      +    <function-decl name='__interceptor___lxstat' mangled-name='__interceptor___lxstat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___lxstat'>
     -       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
     +       <parameter type-id='type-id-10' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
      @@
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor___xstat64' mangled-name='__xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xstat64'>
      +    <function-decl name='__interceptor___xstat64' mangled-name='__interceptor___xstat64' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor___xstat64'>
     -       <parameter type-id='type-id-25' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
     +       <parameter type-id='type-id-10' name='af' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1034' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_stat' mangled-name='stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='stat'>
      +    <function-decl name='__interceptor_stat' mangled-name='__interceptor_stat' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_stat'>
             <parameter type-id='type-id-2' name='cp' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
             <parameter type-id='type-id-1' name='dst' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1053' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sem_timedwait' mangled-name='sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_timedwait'>
      +    <function-decl name='__interceptor_sem_timedwait' mangled-name='__interceptor_sem_timedwait' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_timedwait'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sem_destroy' mangled-name='sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_destroy'>
      +    <function-decl name='__interceptor_sem_destroy' mangled-name='__interceptor_sem_destroy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_destroy'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sem_init' mangled-name='sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sem_init'>
      +    <function-decl name='__interceptor_sem_init' mangled-name='__interceptor_sem_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sem_init'>
             <parameter type-id='type-id-1' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
     -       <parameter type-id='type-id-25' name='pshared' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
     +       <parameter type-id='type-id-10' name='pshared' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
             <parameter type-id='type-id-211' name='value' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1162' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_once' mangled-name='pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_once'>
      +    <function-decl name='__interceptor_pthread_once' mangled-name='__interceptor_pthread_once' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_once'>
             <parameter type-id='type-id-1' name='o' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
             <parameter type-id='type-id-187' name='f' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1133' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_barrier_init'>
      +    <function-decl name='__interceptor_pthread_barrier_init' mangled-name='__interceptor_pthread_barrier_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_barrier_init'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-211' name='count' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1107' column='1'/>
      @@
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_trywrlock'>
      +    <function-decl name='__interceptor_pthread_rwlock_trywrlock' mangled-name='__interceptor_pthread_rwlock_trywrlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1065' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_trywrlock'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_timedrdlock'>
      +    <function-decl name='__interceptor_pthread_rwlock_timedrdlock' mangled-name='__interceptor_pthread_rwlock_timedrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1047' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_timedrdlock'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_rwlock_tryrdlock'>
      +    <function-decl name='__interceptor_pthread_rwlock_tryrdlock' mangled-name='__interceptor_pthread_rwlock_tryrdlock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_rwlock_tryrdlock'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_lock'>
      +    <function-decl name='__interceptor_pthread_spin_lock' mangled-name='__interceptor_pthread_spin_lock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_lock'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_spin_init' mangled-name='pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_spin_init'>
      +    <function-decl name='__interceptor_pthread_spin_init' mangled-name='__interceptor_pthread_spin_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_spin_init'>
             <parameter type-id='type-id-1' name='tid' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
     -       <parameter type-id='type-id-25' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <parameter type-id='type-id-10' name='sig' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='1743' column='1'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_trylock'>
      +    <function-decl name='__interceptor_pthread_mutex_trylock' mangled-name='__interceptor_pthread_mutex_trylock' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_trylock'>
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      @@
             <parameter type-id='type-id-1' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='423' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pthread_mutex_init'>
      +    <function-decl name='__interceptor_pthread_mutex_init' mangled-name='__interceptor_pthread_mutex_init' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_pthread_mutex_init'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-157' name='off' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='749' column='1'/>
             <return type-id='type-id-1'/>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
      +    <function-decl name='__interceptor_mmap' mangled-name='__interceptor_mmap' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_mmap'>
             <parameter type-id='type-id-1' name='addr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
             <parameter type-id='type-id-638' name='sz' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
     -       <parameter type-id='type-id-25' name='prot' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
     +       <parameter type-id='type-id-10' name='prot' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='735' column='1'/>
      @@
             <parameter type-id='type-id-2' name='s2' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='705' column='1'/>
             <return type-id='type-id-2'/>
           </function-decl>
      -    <function-decl name='__interceptor_strncpy' mangled-name='strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
      +    <function-decl name='__interceptor_strncpy' mangled-name='__interceptor_strncpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strncpy'>
     -       <parameter type-id='type-id-27' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
     -       <parameter type-id='type-id-27' name='src' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
     +       <parameter type-id='type-id-28' name='dst' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
     +       <parameter type-id='type-id-28' name='src' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
             <parameter type-id='type-id-106' name='n' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='697' column='1'/>
      @@
             <parameter type-id='type-id-2' name='src' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='689' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_strrchr' mangled-name='strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strrchr'>
      +    <function-decl name='__interceptor_strrchr' mangled-name='__interceptor_strrchr' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_strrchr'>
     -       <parameter type-id='type-id-27' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
     -       <parameter type-id='type-id-25' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='s' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
     +       <parameter type-id='type-id-10' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
     +       <return type-id='type-id-28'/>
      @@
     -       <parameter type-id='type-id-25' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-10' name='c' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='683' column='1'/>
     +       <return type-id='type-id-28'/>
           </function-decl>
      -    <function-decl name='__interceptor_memmove' mangled-name='memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memmove'>
      +    <function-decl name='__interceptor_memmove' mangled-name='__interceptor_memmove' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memmove'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-106'/>
      @@
             <parameter type-id='type-id-106' name='n' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='633' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_memcpy' mangled-name='memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcpy'>
      +    <function-decl name='__interceptor_memcpy' mangled-name='__interceptor_memcpy' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_memcpy'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
      -    <function-decl name='__interceptor_realpath' mangled-name='realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='realpath'>
      +    <function-decl name='__interceptor_realpath' mangled-name='__interceptor_realpath' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_realpath'>
             <parameter type-id='type-id-2' name='path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
     -       <parameter type-id='type-id-27' name='resolved_path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
     -       <return type-id='type-id-27'/>
     +       <parameter type-id='type-id-28' name='resolved_path' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='1767' column='1'/>
     +       <return type-id='type-id-28'/>
      @@
     -       <parameter type-id='type-id-25' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
     +       <parameter type-id='type-id-10' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
             <return type-id='type-id-4'/>
           </function-decl>
      -    <function-decl name='__interceptor_longjmp' mangled-name='longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='longjmp'>
      +    <function-decl name='__interceptor_longjmp' mangled-name='__interceptor_longjmp' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_longjmp'>
             <parameter type-id='type-id-472' name='env' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
     -       <parameter type-id='type-id-25' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
     +       <parameter type-id='type-id-10' name='val' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='467' column='1'/>
             <return type-id='type-id-4'/>
           </function-decl>
      -    <function-decl name='__interceptor___cxa_atexit' mangled-name='__cxa_atexit' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cxa_atexit'>
     @@ tests/data/test-read-dwarf/test15-pr18892.so.abi
             <parameter type-id='type-id-1' name='arg' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
             <parameter type-id='type-id-1' name='dso' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='356' column='1'/>
      @@
     -       <parameter type-id='type-id-25' name='flag' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='259' column='1'/>
     +       <parameter type-id='type-id-10' name='flag' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='259' column='1'/>
             <return type-id='type-id-1'/>
           </function-decl>
      -    <function-decl name='__interceptor_nanosleep' mangled-name='nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nanosleep'>
      +    <function-decl name='__interceptor_nanosleep' mangled-name='__interceptor_nanosleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_nanosleep'>
             <parameter type-id='type-id-1' name='attr' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
             <parameter type-id='type-id-1' name='r' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc' line='2612' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
      @@
             <parameter type-id='type-id-638' name='usec' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='245' column='1'/>
     -       <return type-id='type-id-25'/>
     +       <return type-id='type-id-10'/>
           </function-decl>
      -    <function-decl name='__interceptor_sleep' mangled-name='sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sleep'>
      +    <function-decl name='__interceptor_sleep' mangled-name='__interceptor_sleep' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__interceptor_sleep'>
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
                   <parameter type-id='type-id-1922' name='this' is-artificial='yes'/>
                   <return type-id='type-id-154'/>
                 </function-decl>
     -@@
     -       <class-decl name='tuple&lt;long unsigned int const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1133'>
     -         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1967'/>
     -         <member-function access='private'>
     --          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKmEEC1EOS2_'>
     -+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2EOS2_'>
     -             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
     -             <parameter type-id='type-id-1128'/>
     -             <return type-id='type-id-154'/>
     -           </function-decl>
     -         </member-function>
     -         <member-function access='private'>
     --          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_'>
     -+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_'>
     -             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
     -             <parameter type-id='type-id-1217' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
     -             <return type-id='type-id-154'/>
     -@@
     -       <class-decl name='tuple&lt;void const* const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1195'>
     -         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1969'/>
     -         <member-function access='private'>
     --          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC1EOS4_'>
     -+          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2EOS4_'>
     -             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
     -             <parameter type-id='type-id-1194'/>
     -             <return type-id='type-id-154'/>
     -           </function-decl>
     -         </member-function>
     -         <member-function access='private'>
     --          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_'>
     -+          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_'>
     -             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
     -             <parameter type-id='type-id-1442' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
     -             <return type-id='type-id-154'/>
      @@
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
               <member-function access='public'>
      -          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_'>
      +          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_'>
     -             <parameter type-id='type-id-2024' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1976' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1634' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
                   <parameter type-id='type-id-204' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
     +@@
     +       <class-decl name='tuple&lt;long unsigned int const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1133'>
     +         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1978'/>
     +         <member-function access='private'>
     +-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKmEEC1EOS2_'>
     ++          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2EOS2_'>
     +             <parameter type-id='type-id-1979' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1128'/>
     +             <return type-id='type-id-154'/>
     +           </function-decl>
     +         </member-function>
     +         <member-function access='private'>
     +-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_'>
     ++          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_'>
     +             <parameter type-id='type-id-1979' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1217' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
     +             <return type-id='type-id-154'/>
     +@@
     +       <class-decl name='tuple&lt;void const* const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1195'>
     +         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1980'/>
     +         <member-function access='private'>
     +-          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC1EOS4_'>
     ++          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2EOS4_'>
     +             <parameter type-id='type-id-1981' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1194'/>
     +             <return type-id='type-id-154'/>
     +           </function-decl>
     +         </member-function>
     +         <member-function access='private'>
     +-          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_'>
     ++          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_'>
     +             <parameter type-id='type-id-1981' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
     +             <return type-id='type-id-154'/>
      @@
                 </function-decl>
               </member-function>
               <member-function access='public'>
      -          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_'>
      +          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_'>
     -             <parameter type-id='type-id-2056' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-2030' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1217' name='__head' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1'/>
                   <return type-id='type-id-154'/>
      @@
     -       <class-decl name='_Tuple_impl&lt;0ul, void const* const&amp;&gt;' size-in-bits='64' is-struct='yes' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='338' column='1' id='type-id-1969'>
     -         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-2058'/>
     +       <class-decl name='_Tuple_impl&lt;0ul, void const* const&amp;&gt;' size-in-bits='64' is-struct='yes' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='338' column='1' id='type-id-1980'>
     +         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-2032'/>
               <member-function access='public'>
      -          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_'>
      +          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_'>
     -             <parameter type-id='type-id-2059' name='this' is-artificial='yes'/>
     -             <parameter type-id='type-id-2060' name='__in' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1'/>
     +             <parameter type-id='type-id-2033' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-2034' name='__in' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1'/>
                   <return type-id='type-id-154'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
               <member-function access='public'>
      -          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_'>
      +          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_'>
     -             <parameter type-id='type-id-2075' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-2068' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1442' name='__h' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1'/>
                   <return type-id='type-id-154'/>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
                 <parameter type-id='type-id-2988' name='phase' filepath='../../../gcc/liboffloadmic/runtime/offload_timer.h' line='140' column='1'/>
      @@
             <class-decl name='tuple&lt;void const* const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1195'>
     -         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1969'/>
     +         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1980'/>
               <member-function access='private'>
      -          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC1EOS4_'>
      +          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2EOS4_'>
     -             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1981' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1194'/>
                   <return type-id='type-id-154'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
               <member-function access='private'>
      -          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKPKvEEC2IvLb1EEES3_'>
      +          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKPKvEEC2IvLb1EEES3_'>
     -             <parameter type-id='type-id-1970' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1981' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1442' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
                   <return type-id='type-id-154'/>
      @@
     -       <class-decl name='_Tuple_impl&lt;0ul, void const* const&amp;&gt;' size-in-bits='64' is-struct='yes' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='338' column='1' id='type-id-1969'>
     -         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-2058'/>
     +       <class-decl name='_Tuple_impl&lt;0ul, void const* const&amp;&gt;' size-in-bits='64' is-struct='yes' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='338' column='1' id='type-id-1980'>
     +         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-2032'/>
               <member-function access='public'>
      -          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKPKvEEC1EOS4_'>
      +          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKPKvEEC2EOS4_'>
     -             <parameter type-id='type-id-2059' name='this' is-artificial='yes'/>
     -             <parameter type-id='type-id-2060' name='__in' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1'/>
     +             <parameter type-id='type-id-2033' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-2034' name='__in' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='366' column='1'/>
                   <return type-id='type-id-154'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
               <member-function access='public'>
      -          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC1ES3_'>
      +          <function-decl name='_Head_base' mangled-name='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10_Head_baseILm0ERKPKvLb0EEC2ES3_'>
     -             <parameter type-id='type-id-2075' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-2068' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1442' name='__h' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='107' column='1'/>
                   <return type-id='type-id-154'/>
      @@
             <class-decl name='tuple&lt;long unsigned int const&amp;&gt;' size-in-bits='64' visibility='default' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='521' column='1' id='type-id-1133'>
     -         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1967'/>
     +         <base-class access='public' layout-offset-in-bits='0' type-id='type-id-1978'/>
               <member-function access='private'>
      -          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIIRKmEEC1EOS2_'>
      +          <function-decl name='tuple' mangled-name='_ZNSt5tupleIJRKmEEC2EOS2_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2EOS2_'>
     -             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1979' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1128'/>
                   <return type-id='type-id-154'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
               <member-function access='private'>
      -          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC1IvLb1EEES1_'>
      +          <function-decl name='tuple&lt;void, 1u&gt;' mangled-name='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5tupleIJRKmEEC2IvLb1EEES1_'>
     -             <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1979' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1217' name='__elements#0' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='558' column='1'/>
                   <return type-id='type-id-154'/>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
               <member-function access='public'>
      -          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EIRKmEEC2ES1_'>
      +          <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_'>
     -             <parameter type-id='type-id-2056' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-2030' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1217' name='__head' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='355' column='1'/>
                   <return type-id='type-id-154'/>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
               <member-function access='public'>
      -          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC1IS2_bLb1EEEOT_OT0_'>
      +          <function-decl name='pair&lt;std::_Rb_tree_iterator&lt;AutoData&gt;, bool, 1u&gt;' mangled-name='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt4pairISt17_Rb_tree_iteratorI8AutoDataEbEC2IS2_bLb1EEEOT_OT0_'>
     -             <parameter type-id='type-id-2024' name='this' is-artificial='yes'/>
     +             <parameter type-id='type-id-1976' name='this' is-artificial='yes'/>
                   <parameter type-id='type-id-1634' name='__x' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
                   <parameter type-id='type-id-204' name='__y' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_pair.h' line='240' column='1'/>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
                       <return type-id='type-id-154'/>
                     </function-decl>
      @@
     -         <parameter type-id='type-id-2060' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1212' column='1'/>
     +         <parameter type-id='type-id-2034' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1212' column='1'/>
               <return type-id='type-id-1124'/>
             </function-decl>
      -      <function-decl name='get&lt;0ul, long unsigned int const&amp;&gt;' mangled-name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/tuple' line='1223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt3getILm0EIRKmEERNSt13tuple_elementIXT_ESt5tupleIIDpT0_EEE4typeERS6_'>
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
      -      <function-decl name='forward&lt;std::tuple&lt;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIIEEEOT_RNSt16remove_referenceIS2_E4typeE'>
      +      <function-decl name='forward&lt;std::tuple&lt;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE'>
               <parameter type-id='type-id-3129' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1'/>
     -         <return type-id='type-id-2012'/>
     +         <return type-id='type-id-2023'/>
             </function-decl>
      -      <function-decl name='forward&lt;std::tuple&lt;long unsigned int const&amp;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIIRKmEEEOT_RNSt16remove_referenceIS4_E4typeE'>
      +      <function-decl name='forward&lt;std::tuple&lt;long unsigned int const&amp;&gt; &gt;' mangled-name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE'>
               <parameter type-id='type-id-3132' name='__t' filepath='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/move.h' line='76' column='1'/>
     -         <return type-id='type-id-2013'/>
     +         <return type-id='type-id-2024'/>
             </function-decl>
      @@
               <var-decl name='var_tab_len' type-id='type-id-25' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_myo_host.cpp' line='480' column='1'/>
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test16-pr18904.so.abi
             <member-function access='public' destructor='yes'>
      -        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD1Ev'>
      +        <function-decl name='~mutex_t' mangled-name='_ZN7mutex_tD2Ev' filepath='../../../gcc/liboffloadmic/runtime/offload_util.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN7mutex_tD2Ev'>
     -           <parameter type-id='type-id-2016' name='this' is-artificial='yes'/>
     +           <parameter type-id='type-id-1968' name='this' is-artificial='yes'/>
                 <return type-id='type-id-154'/>
               </function-decl>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' destructor='yes'>
      -          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1332' is-artificial='yes'/>
     +             <parameter type-id='type-id-1331' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1358' is-artificial='yes'/>
     +             <parameter type-id='type-id-1357' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4'>
      +          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1377' is-artificial='yes'/>
     -             <parameter type-id='type-id-1374'/>
     +             <parameter type-id='type-id-1376' is-artificial='yes'/>
     +             <parameter type-id='type-id-1373'/>
                   <parameter type-id='type-id-10'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1377' is-artificial='yes'/>
     +             <parameter type-id='type-id-1376' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1389' is-artificial='yes'/>
     +             <parameter type-id='type-id-1388' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
      +          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1389' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1388' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-96'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1389' is-artificial='yes'/>
     +             <parameter type-id='type-id-1388' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
                   <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4'>
      +              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4'>
     -                 <parameter type-id='type-id-1399' is-artificial='yes'/>
     +                 <parameter type-id='type-id-1398' is-artificial='yes'/>
                       <parameter type-id='type-id-6' is-artificial='yes'/>
                       <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
                   <member-function access='private' destructor='yes'>
      -              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4'>
      +              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4'>
     -                 <parameter type-id='type-id-1406' is-artificial='yes'/>
     +                 <parameter type-id='type-id-1405' is-artificial='yes'/>
                       <parameter type-id='type-id-6' is-artificial='yes'/>
                       <return type-id='type-id-5'/>
                     </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
                   <member-function access='private' constructor='yes'>
      -              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4'>
      +              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4'>
     -                 <parameter type-id='type-id-1406' is-artificial='yes'/>
     -                 <parameter type-id='type-id-1407'/>
     +                 <parameter type-id='type-id-1405' is-artificial='yes'/>
     +                 <parameter type-id='type-id-1406'/>
                       <parameter type-id='type-id-96'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-1220'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     -             <parameter type-id='type-id-1406'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
     +             <parameter type-id='type-id-1405'/>
                   <return type-id='type-id-5'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' destructor='yes'>
      -          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPKc@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPKc@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-4'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-1220'/>
                   <parameter type-id='type-id-4'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1414' is-artificial='yes'/>
     +             <parameter type-id='type-id-1413' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1415' is-artificial='yes'/>
     +             <parameter type-id='type-id-1414' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1415' is-artificial='yes'/>
     +             <parameter type-id='type-id-1414' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1427' is-artificial='yes'/>
     +             <parameter type-id='type-id-1426' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1421' is-artificial='yes'/>
     +             <parameter type-id='type-id-1420' is-artificial='yes'/>
                   <parameter type-id='type-id-1671'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1421' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1420' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
                   <parameter type-id='type-id-1676'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1416' is-artificial='yes'/>
     +             <parameter type-id='type-id-1415' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1428' is-artificial='yes'/>
     +             <parameter type-id='type-id-1427' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1428' is-artificial='yes'/>
     +             <parameter type-id='type-id-1427' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1436' is-artificial='yes'/>
     +             <parameter type-id='type-id-1435' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1436' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1435' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1419' is-artificial='yes'/>
     +             <parameter type-id='type-id-1418' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1431' is-artificial='yes'/>
     +             <parameter type-id='type-id-1430' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1420' is-artificial='yes'/>
     +             <parameter type-id='type-id-1419' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1417' is-artificial='yes'/>
     +             <parameter type-id='type-id-1416' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1417' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1416' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1417' is-artificial='yes'/>
     +             <parameter type-id='type-id-1416' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1418' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1417' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1429' is-artificial='yes'/>
     +             <parameter type-id='type-id-1428' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1429' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1428' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
                   <parameter type-id='type-id-1750'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1413' is-artificial='yes'/>
     +             <parameter type-id='type-id-1412' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1413' is-artificial='yes'/>
     +             <parameter type-id='type-id-1412' is-artificial='yes'/>
                   <parameter type-id='type-id-1757'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
                   <parameter type-id='type-id-1764'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-96'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1423' is-artificial='yes'/>
     +             <parameter type-id='type-id-1422' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1834' is-artificial='yes'/>
     +             <parameter type-id='type-id-1805' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1834' is-artificial='yes'/>
     +             <parameter type-id='type-id-1805' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1837' is-artificial='yes'/>
     +             <parameter type-id='type-id-1808' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1837' is-artificial='yes'/>
     +             <parameter type-id='type-id-1808' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1849' is-artificial='yes'/>
     +             <parameter type-id='type-id-1820' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1854' is-artificial='yes'/>
     +             <parameter type-id='type-id-1825' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1858' is-artificial='yes'/>
     +             <parameter type-id='type-id-1829' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1858' is-artificial='yes'/>
     +             <parameter type-id='type-id-1829' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1861' is-artificial='yes'/>
     +             <parameter type-id='type-id-1832' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-2294' is-artificial='yes'/>
     +             <parameter type-id='type-id-2295' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4'>
      +          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-2296' is-artificial='yes'/>
     +             <parameter type-id='type-id-2297' is-artificial='yes'/>
                   <parameter type-id='type-id-357'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~codecvt' mangled-name='_ZNSt7codecvtIwc11__mbstate_tED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/codecvt.cc' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1358' is-artificial='yes'/>
     +             <parameter type-id='type-id-1357' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
                   <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4'>
      +              <function-decl name='~facet' mangled-name='_ZNSt6locale5facetD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/locale.cc' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4'>
     -                 <parameter type-id='type-id-1399' is-artificial='yes'/>
     +                 <parameter type-id='type-id-1398' is-artificial='yes'/>
                       <parameter type-id='type-id-6' is-artificial='yes'/>
                       <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
                   <member-function access='private' destructor='yes'>
      -              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4'>
      +              <function-decl name='~_Impl' mangled-name='_ZNSt6locale5_ImplD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4'>
     -                 <parameter type-id='type-id-1406' is-artificial='yes'/>
     +                 <parameter type-id='type-id-1405' is-artificial='yes'/>
                       <parameter type-id='type-id-6' is-artificial='yes'/>
                       <return type-id='type-id-5'/>
                     </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
                   <member-function access='private' constructor='yes'>
      -              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4'>
      +              <function-decl name='_Impl' mangled-name='_ZNSt6locale5_ImplC2ERKS0_m' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4'>
     -                 <parameter type-id='type-id-1406' is-artificial='yes'/>
     -                 <parameter type-id='type-id-1407'/>
     +                 <parameter type-id='type-id-1405' is-artificial='yes'/>
     +                 <parameter type-id='type-id-1406'/>
                       <parameter type-id='type-id-96'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-1220'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPNS_5_ImplE' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     -             <parameter type-id='type-id-1406'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
     +             <parameter type-id='type-id-1405'/>
                   <return type-id='type-id-5'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' destructor='yes'>
      -          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~locale' mangled-name='_ZNSt6localeD2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeD2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1EPKc@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2EPKc' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2EPKc@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-4'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4'>
      +          <function-decl name='locale' mangled-name='_ZNSt6localeC2ERKS_PKci' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1443' is-artificial='yes'/>
     +             <parameter type-id='type-id-1442' is-artificial='yes'/>
                   <parameter type-id='type-id-1220'/>
                   <parameter type-id='type-id-4'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2Em' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1389' is-artificial='yes'/>
     +             <parameter type-id='type-id-1388' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
      +          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIwEC2EP15__locale_structm' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1389' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1388' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-96'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIwED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1389' is-artificial='yes'/>
     +             <parameter type-id='type-id-1388' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4'>
      +          <function-decl name='ctype' mangled-name='_ZNSt5ctypeIcEC2EPKtbm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1377' is-artificial='yes'/>
     -             <parameter type-id='type-id-1374'/>
     +             <parameter type-id='type-id-1376' is-artificial='yes'/>
     +             <parameter type-id='type-id-1373'/>
                   <parameter type-id='type-id-10'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~ctype' mangled-name='_ZNSt5ctypeIcED2Ev' filepath='../../../.././libstdc++-v3/src/c++98/ctype.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1377' is-artificial='yes'/>
     +             <parameter type-id='type-id-1376' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='collate' mangled-name='_ZNSt7collateIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1428' is-artificial='yes'/>
     +             <parameter type-id='type-id-1427' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~collate' mangled-name='_ZNSt7collateIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1428' is-artificial='yes'/>
     +             <parameter type-id='type-id-1427' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~collate' mangled-name='_ZNSt7collateIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_classes.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7collateIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1416' is-artificial='yes'/>
     +             <parameter type-id='type-id-1415' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1413' is-artificial='yes'/>
     +             <parameter type-id='type-id-1412' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1413' is-artificial='yes'/>
     +             <parameter type-id='type-id-1412' is-artificial='yes'/>
                   <parameter type-id='type-id-1757'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
                   <parameter type-id='type-id-1764'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4'>
      +          <function-decl name='numpunct' mangled-name='_ZNSt8numpunctIwEC2EP15__locale_structm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-96'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~numpunct' mangled-name='_ZNSt8numpunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/numeric_members.cc' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1425' is-artificial='yes'/>
     +             <parameter type-id='type-id-1424' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1849' is-artificial='yes'/>
     +             <parameter type-id='type-id-1820' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__numpunct_cache' mangled-name='_ZNSt16__numpunct_cacheIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1854' is-artificial='yes'/>
     +             <parameter type-id='type-id-1825' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1418' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1417' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
                   <parameter type-id='type-id-1750'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIwLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1430' is-artificial='yes'/>
     +             <parameter type-id='type-id-1429' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1837' is-artificial='yes'/>
     +             <parameter type-id='type-id-1808' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb1EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1837' is-artificial='yes'/>
     +             <parameter type-id='type-id-1808' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1417' is-artificial='yes'/>
     +             <parameter type-id='type-id-1416' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1417' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1416' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~moneypunct' mangled-name='_ZNSt10moneypunctIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/monetary_members.cc' line='524' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1417' is-artificial='yes'/>
     +             <parameter type-id='type-id-1416' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1834' is-artificial='yes'/>
     +             <parameter type-id='type-id-1805' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__moneypunct_cache' mangled-name='_ZNSt18__moneypunct_cacheIcLb0EED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1834' is-artificial='yes'/>
     +             <parameter type-id='type-id-1805' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='money_put' mangled-name='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1420' is-artificial='yes'/>
     +             <parameter type-id='type-id-1419' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~money_get' mangled-name='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1419' is-artificial='yes'/>
     +             <parameter type-id='type-id-1418' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1429' is-artificial='yes'/>
     +             <parameter type-id='type-id-1428' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='moneypunct' mangled-name='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1429' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1428' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1421' is-artificial='yes'/>
     +             <parameter type-id='type-id-1420' is-artificial='yes'/>
                   <parameter type-id='type-id-1671'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1421' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1420' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1858' is-artificial='yes'/>
     +             <parameter type-id='type-id-1829' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1858' is-artificial='yes'/>
     +             <parameter type-id='type-id-1829' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~time_put' mangled-name='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1423' is-artificial='yes'/>
     +             <parameter type-id='type-id-1422' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='money_get' mangled-name='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1431' is-artificial='yes'/>
     +             <parameter type-id='type-id-1430' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
                   <parameter type-id='type-id-1676'/>
                   <parameter type-id='type-id-96'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct' mangled-name='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__timepunct' mangled-name='_ZNSt11__timepunctIwED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1433' is-artificial='yes'/>
     +             <parameter type-id='type-id-1432' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='public'>
      -          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='__timepunct_cache' mangled-name='_ZNSt17__timepunct_cacheIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1861' is-artificial='yes'/>
     +             <parameter type-id='type-id-1832' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1436' is-artificial='yes'/>
     +             <parameter type-id='type-id-1435' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4'>
      +          <function-decl name='messages' mangled-name='_ZNSt8messagesIwEC2EP15__locale_structPKcm' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets_nonio.h' line='1737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1436' is-artificial='yes'/>
     -             <parameter type-id='type-id-1340'/>
     +             <parameter type-id='type-id-1435' is-artificial='yes'/>
     +             <parameter type-id='type-id-1339'/>
                   <parameter type-id='type-id-4'/>
      @@
                 </function-decl>
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='num_get' mangled-name='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='1938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1414' is-artificial='yes'/>
     +             <parameter type-id='type-id-1413' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private'>
      -          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4'>
      +          <function-decl name='num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1415' is-artificial='yes'/>
     +             <parameter type-id='type-id-1414' is-artificial='yes'/>
                   <parameter type-id='type-id-96'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1415' is-artificial='yes'/>
     +             <parameter type-id='type-id-1414' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='protected' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~num_put' mangled-name='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h' line='2453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1427' is-artificial='yes'/>
     +             <parameter type-id='type-id-1426' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' destructor='yes' vtable-offset='-1'>
      -          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~logic_error' mangled-name='_ZNSt11logic_errorD2Ev' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-2294' is-artificial='yes'/>
     +             <parameter type-id='type-id-2295' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' constructor='yes'>
      -          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4'>
      +          <function-decl name='runtime_error' mangled-name='_ZNSt13runtime_errorC2ERKSs' filepath='../../../.././libstdc++-v3/src/c++98/stdexcept.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-2296' is-artificial='yes'/>
     +             <parameter type-id='type-id-2297' is-artificial='yes'/>
                   <parameter type-id='type-id-357'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
               <member-function access='private' destructor='yes'>
      -          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4'>
      +          <function-decl name='~__basic_file' mangled-name='_ZNSt12__basic_fileIcED2Ev' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/basic_file.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4'>
     -             <parameter type-id='type-id-1332' is-artificial='yes'/>
     +             <parameter type-id='type-id-1331' is-artificial='yes'/>
                   <parameter type-id='type-id-6' is-artificial='yes'/>
                   <return type-id='type-id-5'/>
      @@
     @@ tests/data/test-read-dwarf/test3.so.abi
      +    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
           <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
         </elf-function-symbols>
     -   <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     +   <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
           <type-decl name='void' id='type-id-1'/>
      -    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
      +    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
     @@ tests/data/test-read-dwarf/test3.so.hash.abi
      +    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
           <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
         </elf-function-symbols>
     -   <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     +   <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
           <type-decl name='void' id='48b5725f'/>
      -    <function-decl name='__foo' mangled-name='foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
      +    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
14:  f328cdab60d9 ! 15:  1b99c3a83176 dwarf-reader/writer: consider aliases when dealing with suppressions
     @@ Metadata
       ## Commit message ##
          dwarf-reader/writer: consider aliases when dealing with suppressions
      
     -    When a symbol is suppressed and it happens to be the main symbol of a
     -    group of aliased symbols where another symbol is not suppressed, the
     -    dwarf reader discards the DWARF information upon reading and the writer
     -    will not be able to connect dwarf information to the aliased elf symbol.
     +    When the symbol of a decl is suppressed and it happens to be the main
     +    symbol of a group of aliased symbols where another symbol is not
     +    suppressed, the dwarf reader discards the decl from the internal
     +    representation altogether upon reading and thus the writer will not be
     +    able to connect that decl to the non-suppressed aliased elf symbol.
      
     -    In order to address this, ensure we are not suppressing symbols
     -    (actually functions and variables) for which an alias is not suppressed.
     -    We therefore keep the DWARF information even if only a non-main symbol
     -    is asked for.
     +    In order to address this, ensure we are not suppressing decls for which
     +    an alias is not suppressed. We therefore keep the decl in the IR when at
     +    least one its underlying aliased symbols is non-suppressed.
      
          Likewise, when the abg-writer is having to attach an elf-symbol-id to
     -    the DWARF collected information (for functions and variables), instead
     -    of omitting the symbol altogether, rather make use of the property of
     -    aliases and connect the dwarf information to an alias instead. This way
     -    the function dwarf information stays connected to the elf symbol that we
     -    want to track.
     +    the decl, instead of omitting the symbol altogether, rather make use of
     +    the property of aliases and connect the dwarf information to an alias
     +    instead. This way the function dwarf information stays connected to the
     +    elf symbol that we want to track.
      
          When reading from XML with a symbol whitelist that leads to suppression
          of aliased symbols, abidiff would hit an assertion and crash when
     @@ Commit message
                  * tests/test-read-dwarf.cc: Add new test cases.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-dwarf-reader.cc ##
     @@ tests/data/test-read-dwarf/test-suppressed-alias.o (new)
      
       ## tests/data/test-read-dwarf/test-suppressed-alias.o.abi (new) ##
      @@
     -+<abi-corpus path='data/test-read-dwarf/test-suppressed-alias.o'>
     ++<abi-corpus version='2.0' path='data/test-read-dwarf/test-suppressed-alias.o'>
      +  <elf-function-symbols>
      +    <elf-symbol name='alias_func' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
      +  </elf-function-symbols>
      +  <elf-variable-symbols>
      +    <elf-symbol name='alias_var' size='4' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
      +  </elf-variable-symbols>
     -+  <abi-instr version='1.0' address-size='64' path='test.c' comp-dir-path='/ws/android/aosp/kernel-build-tools/external/libabigail' language='LANG_C99'>
     ++  <abi-instr address-size='64' path='test.c' comp-dir-path='/ws/android/aosp/kernel-build-tools/external/libabigail' language='LANG_C99'>
      +    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
      +    <type-decl name='void' id='48b5725f'/>
      +    <var-decl name='main_var' type-id='95e97e5e' mangled-name='main_var' visibility='default' filepath='/ws/android/aosp/kernel-build-tools/external/libabigail/test.c' line='14' column='1' elf-symbol-id='alias_var'/>
     @@ tests/data/test-read-dwarf/test-suppressed-alias.suppr (new)
      
       ## tests/data/test-read-dwarf/test3-alias-1.so.hash.abi (new) ##
      @@
     -+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
     ++<abi-corpus version='2.0' path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
      +  <elf-needed>
      +    <dependency name='libc.so.6'/>
      +  </elf-needed>
      +  <elf-function-symbols>
      +    <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
      +  </elf-function-symbols>
     -+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     ++  <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
      +    <type-decl name='void' id='48b5725f'/>
      +    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo'>
      +      <return type-id='48b5725f'/>
     @@ tests/data/test-read-dwarf/test3-alias-1.suppr (new)
      
       ## tests/data/test-read-dwarf/test3-alias-2.so.hash.abi (new) ##
      @@
     -+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
     ++<abi-corpus version='2.0' path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
      +  <elf-needed>
      +    <dependency name='libc.so.6'/>
      +  </elf-needed>
     @@ tests/data/test-read-dwarf/test3-alias-2.so.hash.abi (new)
      +    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
      +    <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
      +  </elf-function-symbols>
     -+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     ++  <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
      +    <type-decl name='void' id='48b5725f'/>
      +    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
      +      <return type-id='48b5725f'/>
     @@ tests/data/test-read-dwarf/test3-alias-2.suppr (new)
      
       ## tests/data/test-read-dwarf/test3-alias-3.so.hash.abi (new) ##
      @@
     -+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
     ++<abi-corpus version='2.0' path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
      +  <elf-needed>
      +    <dependency name='libc.so.6'/>
      +  </elf-needed>
      +  <elf-function-symbols>
      +    <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
      +  </elf-function-symbols>
     -+  <abi-instr version='1.0' address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
     ++  <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf' language='LANG_C89'>
      +    <type-decl name='void' id='48b5725f'/>
      +    <function-decl name='__foo' mangled-name='__foo' filepath='/home/skumari/Tasks/source_repo/dodji/libabigail/tests/data/test-read-dwarf/test3.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='foo'>
      +      <return type-id='48b5725f'/>
     @@ tests/data/test-read-dwarf/test3-alias-3.suppr (new)
      
       ## tests/data/test-read-dwarf/test3-alias-4.so.hash.abi (new) ##
      @@
     -+<abi-corpus path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
     ++<abi-corpus version='2.0' path='data/test-read-dwarf/test3.so' soname='test3.so.1'>
      +  <elf-needed>
      +    <dependency name='libc.so.6'/>
      +  </elf-needed>
15:  da602c769e8f ! 16:  61f3486a7623 abg-writer.cc: fix write_elf_symbol_reference loop
     @@ Commit message
      
          Fixes: commmit ("dwarf-reader/writer: consider aliases when dealing with suppressions")
          Signed-off-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## src/abg-writer.cc ##
16:  9557767144f9 ! 17:  764897310058 symtab: Add support for MODVERSIONS (CRC checksums)
     @@ Commit message
                  * tests/test-symtab.cc (Symtab::KernelSymtabsWithCRC): New test case.
      
          Reviewed-by: Giuliano Procida <gprocida@google.com>
     +    Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
          Signed-off-by: Matthias Maennich <maennich@google.com>
      
       ## include/abg-ir.h ##
     @@ src/abg-ir.cc: struct elf_symbol::priv
             is_suppressed_(is_suppressed)
         {
           if (!is_common_)
     +@@ src/abg-ir.cc: elf_symbol::elf_symbol()
     + ///
     + /// @param is_linux_string_cst true if the symbol is a Linux Kernel
     + /// string constant defined in the __ksymtab_strings section.
     ++///
     ++/// @param crc the CRC (modversions) value of Linux Kernel symbols
     + elf_symbol::elf_symbol(const environment* e,
     + 		       size_t		  i,
     + 		       size_t		  s,
      @@ src/abg-ir.cc: elf_symbol::elf_symbol(const environment* e,
       		       visibility	  vi,
       		       bool		  is_linux_string_cst,
     @@ src/abg-ir.cc: elf_symbol::elf_symbol(const environment* e,
       		   is_suppressed))
       {}
       
     +@@ src/abg-ir.cc: elf_symbol::create()
     + /// @param is_linux_string_cst if true, it means the symbol represents
     + /// a string constant from a linux kernel binary.
     + ///
     ++/// @param crc the CRC (modversions) value of Linux Kernel symbols
     ++///
     + /// @return a (smart) pointer to a newly created instance of @ref
     + /// elf_symbol.
     + elf_symbol_sptr
      @@ src/abg-ir.cc: elf_symbol::create(const environment* e,
       		   visibility	      vi,
       		   bool		      is_linux_string_cst,
     @@ src/abg-ir.cc: void
       elf_symbol::set_is_in_ksymtab(bool is_in_ksymtab)
       {priv_->is_in_ksymtab_ = is_in_ksymtab;}
       
     ++/// Getter of the 'crc' property.
     ++///
     ++/// @return the CRC (modversions) value for Linux Kernel symbols (if present)
      +uint64_t
      +elf_symbol::get_crc() const
      +{return priv_->crc_;}
      +
     ++/// Setter of the 'crc' property.
     ++///
     ++/// @param crc the new CRC (modversions) value for Linux Kernel symbols
      +void
      +elf_symbol::set_crc(uint64_t crc)
      +{priv_->crc_ = crc;}
      +
     - bool
     - elf_symbol::is_suppressed() const
     - {return priv_->is_suppressed_;}
     + /// Getter for the 'is-suppressed' property.
     + ///
     + /// @return true iff the current symbol has been suppressed by a
      
       ## src/abg-reader.cc ##
      @@ src/abg-reader.cc: build_elf_symbol(read_context& ctxt, const xmlNodePtr node,
     @@ src/abg-symtab-reader.cc: symtab::load_(Elf*	       elf_handle,
         std::unordered_set<std::string> exported_kernel_symbols;
      +  std::unordered_map<std::string, uint64_t> crc_values;
       
     +   const bool is_arm32 = elf_helpers::architecture_is_arm32(elf_handle);
         const bool is_ppc64 = elf_helpers::architecture_is_ppc64(elf_handle);
     - 
      @@ src/abg-symtab-reader.cc: symtab::load_(Elf*	       elf_handle,
       	  ABG_ASSERT(exported_kernel_symbols.insert(name.substr(10)).second);
       	  continue;
     @@ src/abg-symtab-reader.cc: symtab::load_(Elf*	       elf_handle,
      +      if (r == name_symbol_map_.end())
      +	continue;
      +
     -+      for (const auto& symbol : r->second) {
     ++      for (const auto& symbol : r->second)
      +	symbol->set_crc(crc_entry.second);
     -+      }
      +    }
      +
         // sort the symbols for deterministic output
     @@ tests/data/test-abidiff/test-empty-corpus-report.txt (deleted)
      
       ## tests/data/test-read-dwarf/PR25007-sdhci.ko.abi ##
      @@
     - <abi-corpus path='data/test-read-dwarf/PR25007-sdhci.ko'>
     + <abi-corpus version='2.0' path='data/test-read-dwarf/PR25007-sdhci.ko'>
         <elf-function-symbols>
      -    <elf-symbol name='__sdhci_add_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
      -    <elf-symbol name='__sdhci_read_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     @@ tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
      +    <elf-symbol name='sdhci_start_tuning' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x39f40b95'/>
      +    <elf-symbol name='sdhci_suspend_host' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xa6de7a42'/>
         </elf-function-symbols>
     -   <abi-instr version='1.0' address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
     +   <abi-instr address-size='64' path='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
           <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-1'/>
      
       ## tests/data/test-read-write/test-crc.xml (new) ##
      @@
     -+<abi-corpus path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
     ++<abi-corpus version='2.0' path='tests/data/test-symtab/kernel-modversions/one_of_each.ko' architecture='elf-amd-x86_64'>
      +  <elf-function-symbols>
      +    <elf-symbol name='exported_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe52d5bcf'/>
      +    <elf-symbol name='exported_function_gpl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfda43846'/>

^ permalink raw reply	[flat|nested] 91+ messages in thread

* Re: [GIT PULL] Refactor (k)symtab reader
  2021-03-29 13:19   ` [GIT PULL] Refactor (k)symtab reader Matthias Maennich
@ 2021-04-02 14:28     ` Dodji Seketeli
  0 siblings, 0 replies; 91+ messages in thread
From: Dodji Seketeli @ 2021-04-02 14:28 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, Giuliano Procida, kernel-team

Hello Matthias,

Matthias Maennich <maennich@google.com> a écrit:

[...]


> please pull:
>
> The following changes since commit 2eefd1727663285fe3544c41ec01dea32b2ec7dd:
>
>   Bug 27569 - abidiff misses a function parameter addition (2021-03-29 12:34:48 +0200)
>
> are available in the Git repository at:
>
>   ssh://sourceware.org/git/libabigail.git mm-symtab-reader
>
> for you to fetch changes up to 6be21667a07e261dc9779271048c219232c1b911:
>
>   symtab: Add support for MODVERSIONS (CRC checksums) (2021-03-29
>   13:39:56 +0100)

Applied to master.

Thanks!

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 91+ messages in thread

end of thread, other threads:[~2021-04-02 14:28 UTC | newest]

Thread overview: 91+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-19 21:42 [PATCH v1 00/16] Refactor (k)symtab reader Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 01/16] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 02/16] abg-cxx-compat: more <functional> support: std::bind and friends Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 03/16] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 04/16] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
2020-06-22  9:46   ` Giuliano Procida
2020-06-19 21:42 ` [PATCH v1 05/16] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 06/16] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 07/16] Integrate new symtab reader into corpus and read_context Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 08/16] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
2020-06-22  9:53   ` Giuliano Procida
2020-06-19 21:42 ` [PATCH v1 09/16] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
2020-06-19 21:42 ` [PATCH v1 10/16] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
2020-06-19 21:43 ` [PATCH v1 11/16] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
2020-06-19 21:43 ` [PATCH v1 12/16] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
2020-06-19 21:43 ` [PATCH v1 13/16] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
2020-06-19 21:43 ` [PATCH v1 14/16] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
2020-06-19 21:43 ` [PATCH v1 15/16] abg-corpus: remove symbol maps and their setters Matthias Maennich
2020-06-19 21:43 ` [PATCH v1 16/16] dwarf reader: drop (now) unused code related symbol table reading Matthias Maennich
2020-06-22  9:56   ` Giuliano Procida
2020-07-03 16:46 ` [PATCH v2 00/21] Refactor (k)symtab reader Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 01/21] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 02/21] abg-cxx-compat: more <functional> support: std::bind and friends Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 03/21] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 04/21] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 05/21] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 06/21] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
2020-07-20 15:39     ` Dodji Seketeli
2020-07-03 16:46   ` [PATCH v2 07/21] Integrate new symtab reader into corpus and read_context Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 08/21] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 09/21] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 10/21] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 11/21] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 12/21] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 13/21] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 14/21] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 15/21] abg-corpus: remove symbol maps and their setters Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 16/21] dwarf reader: drop now-unused code related to symbol table reading Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 17/21] test-symtab: add tests for whitelisted functions Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 18/21] symtab/dwarf-reader: allow hinting of main symbols for aliases Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 19/21] dwarf-reader/writer: consider aliases when dealing with suppressions Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 20/21] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
2020-07-03 16:46   ` [PATCH v2 21/21] reader/symtab: Improve handling for suppressed aliases Matthias Maennich
2020-07-20 14:27   ` [PATCH v2 00/21] Refactor (k)symtab reader Dodji Seketeli
2021-01-27 12:58 ` [PATCH 00/20] " Matthias Maennich
2021-01-27 12:58   ` [PATCH 01/20] abg-cxx-compat: add simplified version of std::optional Matthias Maennich
2021-03-09  9:43     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 02/20] abg-ir: elf_symbol: add is_in_ksymtab field Matthias Maennich
2021-03-09 14:05     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 03/20] abg-ir: elf_symbol: add is_suppressed field Matthias Maennich
2021-03-09 18:03     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h, cc} and test case Matthias Maennich
2021-03-10 18:00     ` [PATCH 04/20] dwarf-reader split: create abg-symtab-reader.{h,cc} " Dodji Seketeli
2021-01-27 12:58   ` [PATCH 05/20] Refactor ELF symbol table reading by adding a new symtab reader Matthias Maennich
2021-03-12 11:18     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 06/20] Integrate new symtab reader into corpus and read_context Matthias Maennich
2021-03-12 15:04     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 07/20] corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab Matthias Maennich
2021-03-15 10:05     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 08/20] corpus: make get_unreferenced_(function|variable)_symbols " Matthias Maennich
2021-03-15 12:06     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 09/20] abg-reader: avoid using the (var|function)_symbol_map Matthias Maennich
2021-03-15 14:23     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 10/20] dwarf-reader: read_context: use new symtab in *_symbols_is_exported Matthias Maennich
2021-03-15 18:13     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 11/20] Switch kernel stuff over to new symtab and drop unused code Matthias Maennich
2021-03-16 10:38     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 12/20] abg-elf-helpers: migrate ppc64 specific helpers Matthias Maennich
2021-03-16 10:59     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 13/20] symtab_reader: add support for ppc64 ELFv1 binaries Matthias Maennich
2021-03-16 11:39     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 14/20] abg-corpus: remove symbol maps and their setters Matthias Maennich
2021-03-16 18:08     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 15/20] dwarf reader: drop (now) unused code related to symbol table reading Matthias Maennich
2021-03-16 18:42     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 16/20] test-symtab: add tests for whitelisted functions Matthias Maennich
2021-03-17 11:07     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 17/20] symtab/dwarf-reader: allow hinting of main symbols for aliases Matthias Maennich
2021-03-17 13:40     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 18/20] dwarf-reader/writer: consider aliases when dealing with suppressions Matthias Maennich
2021-03-17 15:44     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 19/20] abg-writer.cc: fix write_elf_symbol_reference loop Matthias Maennich
2021-03-17 16:11     ` Dodji Seketeli
2021-01-27 12:58   ` [PATCH 20/20] symtab: Add support for MODVERSIONS (CRC checksums) Matthias Maennich
2021-03-17 17:13     ` Dodji Seketeli
2021-03-17 23:29       ` Giuliano Procida
2021-03-18 22:10         ` Matthias Maennich
2021-03-19 16:55           ` Dodji Seketeli
2021-03-19 18:15     ` Dodji Seketeli
2021-03-29 13:19   ` [GIT PULL] Refactor (k)symtab reader Matthias Maennich
2021-04-02 14:28     ` Dodji Seketeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).