public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: Ben Woodard <woodard@redhat.com>
To: Dodji Seketeli <dodji@seketeli.org>
Cc: libabigail@sourceware.org
Subject: Re: 'src/abg-dwarf-reader.cc:compare_dies_string_attribute_value' optimization
Date: Wed, 22 Jun 2022 01:09:49 -0700	[thread overview]
Message-ID: <3BA457A8-B503-49A8-A6C1-EC8D11C6BE92@redhat.com> (raw)
In-Reply-To: <87edzjgvps.fsf@seketeli.org>

I think you have an infinite loop in there somewhere. Abidw has been running for more than 15 hours on one library and still hasn’t completed.

    312 pts/4    R+   924:34 abidw --abidiff /lib64/dyninst/libdyninstAPI.so.12.0.1

This was with the libdyninstAPI.so from dyninst-12.0.1-3.fc36.x86_64

The backtrace is too long to post about 500 levels deep but here are the top 20 frames. It looks to be deep in comparison.
I’ve never seen these RTTI warnings before.

3916      get_size_in_bits() const;
(gdb) bt
#0  0x00007fd7746fe74b in virtual thunk to abigail::ir::class_or_union::get_size_in_bits() const () at /home/ben/Work/libabigail/build/../include/abg-ir.h:3916
#1  0x00007fd7746dc91d in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::union_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::union_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:14240
#2  0x00007fd7747011b9 in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::union_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::union_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:21565
#3  0x00007fd7746f04bf in abigail::ir::type_base::operator!= (other=..., this=0xf39bf50) at ../../src/abg-ir.cc:14263
#4  abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::var_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::var_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:18413
#5  0x00007fd7746ba48e in abigail::ir::decl_base::operator!= (this=<optimized out>, other=...) at ../../src/abg-ir.cc:5221
#6  0x00007fd7747012d6 in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., k=0x0) at /usr/include/c++/12/bits/shared_ptr_base.h:1349
#7  0x00007fd77470a724 in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:23108
#8  0x00007fd7746ee4d4 in abigail::ir::type_base::operator!= (other=..., this=0xf391868) at ../../src/abg-ir.cc:14263
#9  abigail::ir::equals (l=..., r=warning: RTTI symbol not found for class 'abigail::ir::typedef_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:18108
#10 0x00007fd7746f04bf in abigail::ir::type_base::operator!= (other=..., this=0xf527130) at ../../src/abg-ir.cc:14263
#11 abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::var_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::var_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:18413
#12 0x00007fd7746ba48e in abigail::ir::decl_base::operator!= (this=<optimized out>, other=...) at ../../src/abg-ir.cc:5221
#13 0x00007fd7747012d6 in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., k=0x0) at /usr/include/c++/12/bits/shared_ptr_base.h:1349
#14 0x00007fd77470a724 in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:23108
#15 0x00007fd7746f04bf in abigail::ir::type_base::operator!= (other=..., this=0x18d32928) at ../../src/abg-ir.cc:14263
#16 abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::var_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::var_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:18413
#17 0x00007fd7746ba48e in abigail::ir::decl_base::operator!= (this=<optimized out>, other=...) at ../../src/abg-ir.cc:5221
#18 0x00007fd7747012d6 in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., k=0x0) at /usr/include/c++/12/bits/shared_ptr_base.h:1349
#19 0x00007fd77470a724 in abigail::ir::equals (l=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., r=warning: RTTI symbol not found for class 'abigail::ir::class_decl [clone .localalias]'
..., k=0x0) at ../../src/abg-ir.cc:23108

-ben

> On Jun 20, 2022, at 9:12 AM, Dodji Seketeli <dodji@seketeli.org> wrote:
> 
> Hello Thomas et al.,
> 
> I have finally applied a fix for this issue that you reported.
> 
> It can be read at https://sourceware.org/git/?p=libabigail.git;a=commit;h=0529e3b9ee09c29137952b3a5d4a7cc10484649a.
> 
> Thanks for reporting this and sorry for the inconvenience.
> 
> Cheers,
> 
> Thomas Schwinge <thomas@codesourcery.com> a écrit:
> 
>> Hi!
>> 
>> It's late on a Friday evening, and very well this may just be me not
>> understanding libabigail/DWARF ;-) -- in context of
>> <https://sourceware.org/bugzilla/show_bug.cgi?id=21023#c10> or
>> <https://sourceware.org/bugzilla/show_bug.cgi?id=25042#c4>, I did a
>> simple experiment to disable the
>> 'src/abg-dwarf-reader.cc:compare_dies_string_attribute_value'
>> optimization:
>> 
>>    --- src/abg-dwarf-reader.cc
>>    +++ src/abg-dwarf-reader.cc
>>    [...]
>>     /// This function is a fast routine (optimization) to compare the
>>     /// values of two string attributes of two DIEs.
>>     ///
>>     /// @param l the first DIE to consider.
>>     ///
>>     /// @param r the second DIE to consider.
>>     ///
>>     /// @param attr_name the name of the attribute to compare, on the two
>>     /// DIEs above.
>>     ///
>>     /// @param result out parameter.  This is set to the result of the
>>     /// comparison.  If the value of attribute @p attr_name on DIE @p l
>>     /// equals the value of attribute @p attr_name on DIE @p r, then the
>>     /// the argument of this parameter is set to true.  Otherwise, it's
>>     /// set to false.  Note that the argument of this parameter is set iff
>>     /// the function returned true.
>>     ///
>>     /// @return true iff the comparison could be performed.  There are
>>     /// cases in which the comparison cannot be performed.  For instance,
>>     /// if one of the DIEs does not have the attribute @p attr_name.  In
>>     /// any case, if this function returns true, then the parameter @p
>>     /// result is set to the result of the comparison.
>>     static bool
>>     compare_dies_string_attribute_value(const Dwarf_Die *l, const Dwarf_Die *r,
>>                                    unsigned attr_name,
>>                                    bool &result)
>>     {
>>       Dwarf_Attribute l_attr, r_attr;
>>       if (!dwarf_attr_integrate(const_cast<Dwarf_Die*>(l), attr_name, &l_attr)
>>           || !dwarf_attr_integrate(const_cast<Dwarf_Die*>(r), attr_name, &r_attr))
>>         return false;
>> 
>>       ABG_ASSERT(l_attr.form == DW_FORM_strp
>>             || l_attr.form == DW_FORM_string
>>             || l_attr.form == DW_FORM_GNU_strp_alt
>>             || form_is_DW_FORM_strx(l_attr.form)
>>             || form_is_DW_FORM_line_strp(l_attr.form));
>> 
>>       ABG_ASSERT(r_attr.form == DW_FORM_strp
>>             || r_attr.form == DW_FORM_string
>>             || r_attr.form == DW_FORM_GNU_strp_alt
>>             || form_is_DW_FORM_strx(r_attr.form)
>>             || form_is_DW_FORM_line_strp(r_attr.form));
>> 
>>    +#if 0
>>       if ((l_attr.form == DW_FORM_strp
>>            && r_attr.form == DW_FORM_strp)
>>           || (l_attr.form == DW_FORM_GNU_strp_alt
>>          && r_attr.form == DW_FORM_GNU_strp_alt)
>>           || (form_is_DW_FORM_strx(l_attr.form)
>>          && form_is_DW_FORM_strx(r_attr.form))
>>           || (form_is_DW_FORM_line_strp(l_attr.form)
>>          && form_is_DW_FORM_line_strp(r_attr.form)))
>>         {
>>           // So these string attributes are actually pointers into a
>>           // string table.  The string table is most likely de-duplicated
>>           // so comparing the *values* of the pointers should be enough.
>>           //
>>           // This is the fast path.
>>           if (l_attr.valp == r_attr.valp)
>>          result = true;
>>           else if (l_attr.valp && r_attr.valp)
>>        result = *l_attr.valp == *r_attr.valp;
>>           else
>>        result = false;
>>           return true;
>>         }
>>    +#endif
>> 
>>       // If we reached this point it means we couldn't use the fast path
>>       // because the string atttributes are strings that are "inline" in
>>       // the debug info section.  Let's just compare them the slow and
>>       // obvious way.
>>       string l_str = die_string_attribute(l, attr_name),
>>         r_str = die_string_attribute(r, attr_name);
>>       result = l_str == r_str;
>> 
>>       return true;
>>     }
>> 
>> My assumption was that this shouldn't change anything other than possibly
>> regress performance.  However:
>> 
>>    [-PASS:-]{+FAIL:+} runtestreaddwarf
>> 
>>    --- build-libabigail/tests/runtestreaddwarf.log
>>    +++ build-libabigail/tests/runtestreaddwarf.log
>>    [...]
>>    -PASS runtestreaddwarf (exit status: 0)
>>    +--- [...]/source-libabigail/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi        2022-01-28 22:48:07.049805043 +0100
>>    ++++ [...]/build-libabigail/tests/output/test-read-dwarf/PR25007-sdhci.ko.abi       2022-01-28 23:15:30.261483063 +0100
>>    +@@ -10107,10 +10107,19 @@
>>    +       <parameter type-id='type-id-1183'/>
>>    +       <return type-id='type-id-165'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1112'>
>>    ++      <parameter type-id='type-id-614'/>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <return type-id='type-id-165'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1114'>
>>    +       <parameter type-id='type-id-125'/>
>>    +       <return type-id='type-id-165'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1153'>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <return type-id='type-id-282'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1184'>
>>    +       <parameter type-id='type-id-238'/>
>>    +       <parameter type-id='type-id-1138'/>
>>    +@@ -10138,6 +10147,10 @@
>>    +       <parameter type-id='type-id-51'/>
>>    +       <return type-id='type-id-1195'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1198'>
>>    ++      <parameter type-id='type-id-538'/>
>>    ++      <return type-id='type-id-530'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1199'>
>>    +       <parameter type-id='type-id-1357'/>
>>    +       <return type-id='type-id-635'/>
>>    +@@ -10181,6 +10194,16 @@
>>    +       <parameter type-id='type-id-1553'/>
>>    +       <return type-id='type-id-53'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1224'>
>>    ++      <parameter type-id='type-id-24'/>
>>    ++      <parameter type-id='type-id-1143'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1225'>
>>    ++      <parameter type-id='type-id-165'/>
>>    ++      <parameter type-id='type-id-1143'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1226'>
>>    +       <parameter type-id='type-id-1118'/>
>>    +       <return type-id='type-id-53'/>
>>    +@@ -10370,6 +10393,13 @@
>>    +       <parameter type-id='type-id-411'/>
>>    +       <return type-id='type-id-53'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1256'>
>>    ++      <parameter type-id='type-id-335'/>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1093'/>
>>    ++      <parameter type-id='type-id-125'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1257'>
>>    +       <parameter type-id='type-id-335'/>
>>    +       <parameter type-id='type-id-67'/>
>>    +@@ -10519,6 +10549,31 @@
>>    +       <parameter type-id='type-id-53'/>
>>    +       <return type-id='type-id-53'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1283'>
>>    ++      <parameter type-id='type-id-559'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1284'>
>>    ++      <parameter type-id='type-id-559'/>
>>    ++      <parameter type-id='type-id-165'/>
>>    ++      <parameter type-id='type-id-332'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1285'>
>>    ++      <parameter type-id='type-id-559'/>
>>    ++      <parameter type-id='type-id-559'/>
>>    ++      <parameter type-id='type-id-165'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1286'>
>>    ++      <parameter type-id='type-id-1343'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1287'>
>>    ++      <parameter type-id='type-id-1343'/>
>>    ++      <parameter type-id='type-id-125'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1288'>
>>    +       <parameter type-id='type-id-225'/>
>>    +       <parameter type-id='type-id-1151'/>
>>    +@@ -10531,6 +10586,17 @@
>>    +       <parameter type-id='type-id-172'/>
>>    +       <return type-id='type-id-53'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1290'>
>>    ++      <parameter type-id='type-id-614'/>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1292'>
>>    ++      <parameter type-id='type-id-614'/>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1350'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1294'>
>>    +       <parameter type-id='type-id-1357'/>
>>    +       <return type-id='type-id-53'/>
>>    +@@ -10591,6 +10657,10 @@
>>    +       <parameter type-id='type-id-100'/>
>>    +       <return type-id='type-id-53'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1305'>
>>    ++      <parameter type-id='type-id-274'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1306'>
>>    +       <parameter type-id='type-id-826'/>
>>    +       <parameter type-id='type-id-114'/>
>>    +@@ -10631,6 +10701,22 @@
>>    +       <parameter type-id='type-id-238'/>
>>    +       <return type-id='type-id-53'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1314'>
>>    ++      <parameter type-id='type-id-577'/>
>>    ++      <parameter type-id='type-id-559'/>
>>    ++      <parameter type-id='type-id-557'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1315'>
>>    ++      <parameter type-id='type-id-577'/>
>>    ++      <parameter type-id='type-id-557'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1316'>
>>    ++      <parameter type-id='type-id-577'/>
>>    ++      <parameter type-id='type-id-127'/>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1317'>
>>    +       <parameter type-id='type-id-241'/>
>>    +       <return type-id='type-id-53'/>
>>    +@@ -10746,6 +10832,10 @@
>>    +       <parameter type-id='type-id-114'/>
>>    +       <return type-id='type-id-67'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1363'>
>>    ++      <parameter type-id='type-id-1398'/>
>>    ++      <return type-id='type-id-67'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1364'>
>>    +       <parameter type-id='type-id-241'/>
>>    +       <parameter type-id='type-id-1409'/>
>>    +@@ -10770,6 +10860,14 @@
>>    +       <parameter type-id='type-id-1384'/>
>>    +       <return type-id='type-id-1085'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1427'>
>>    ++      <parameter type-id='type-id-1343'/>
>>    ++      <parameter type-id='type-id-1384'/>
>>    ++      <return type-id='type-id-1085'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1428'>
>>    ++      <return type-id='type-id-172'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1429'>
>>    +       <parameter type-id='type-id-515'/>
>>    +       <return type-id='type-id-172'/>
>>    +@@ -10815,6 +10913,9 @@
>>    +       <parameter type-id='type-id-399'/>
>>    +       <return type-id='type-id-399'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1437'>
>>    ++      <return type-id='type-id-533'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1438'>
>>    +       <parameter type-id='type-id-335'/>
>>    +       <parameter type-id='type-id-333'/>
>>    +@@ -10859,6 +10960,15 @@
>>    +       <parameter type-id='type-id-1360'/>
>>    +       <return type-id='type-id-1027'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1445'>
>>    ++      <parameter type-id='type-id-335'/>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1093'/>
>>    ++      <parameter type-id='type-id-24'/>
>>    ++      <parameter type-id='type-id-333'/>
>>    ++      <parameter type-id='type-id-176'/>
>>    ++      <return type-id='type-id-1027'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1446'>
>>    +       <parameter type-id='type-id-335'/>
>>    +       <parameter type-id='type-id-1360'/>
>>    +@@ -10885,11 +10995,44 @@
>>    +       <parameter type-id='type-id-113'/>
>>    +       <return type-id='type-id-1027'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1449'>
>>    ++      <parameter type-id='type-id-1343'/>
>>    ++      <parameter type-id='type-id-24'/>
>>    ++      <parameter type-id='type-id-176'/>
>>    ++      <parameter type-id='type-id-333'/>
>>    ++      <return type-id='type-id-1027'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1450'>
>>    +       <parameter type-id='type-id-1347'/>
>>    +       <parameter type-id='type-id-1339'/>
>>    +       <return type-id='type-id-1027'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1451'>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1088'/>
>>    ++      <parameter type-id='type-id-24'/>
>>    ++      <return type-id='type-id-1027'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1452'>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1088'/>
>>    ++      <parameter type-id='type-id-165'/>
>>    ++      <parameter type-id='type-id-176'/>
>>    ++      <return type-id='type-id-1027'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1453'>
>>    ++      <parameter type-id='type-id-790'/>
>>    ++      <parameter type-id='type-id-1369'/>
>>    ++      <parameter type-id='type-id-24'/>
>>    ++      <return type-id='type-id-1027'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1454'>
>>    ++      <parameter type-id='type-id-790'/>
>>    ++      <parameter type-id='type-id-1369'/>
>>    ++      <parameter type-id='type-id-165'/>
>>    ++      <parameter type-id='type-id-176'/>
>>    ++      <return type-id='type-id-1027'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1455'>
>>    +       <parameter type-id='type-id-387'/>
>>    +       <parameter type-id='type-id-335'/>
>>    +@@ -10923,6 +11066,18 @@
>>    +       <parameter type-id='type-id-261'/>
>>    +       <return type-id='type-id-104'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1460'>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1088'/>
>>    ++      <parameter type-id='type-id-53'/>
>>    ++      <return type-id='type-id-332'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1461'>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1093'/>
>>    ++      <parameter type-id='type-id-53'/>
>>    ++      <return type-id='type-id-332'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1462'>
>>    +       <parameter type-id='type-id-1476'/>
>>    +       <return type-id='type-id-718'/>
>>    +@@ -10936,6 +11091,14 @@
>>    +       <parameter type-id='type-id-1402'/>
>>    +       <return type-id='type-id-113'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1468'>
>>    ++      <parameter type-id='type-id-335'/>
>>    ++      <parameter type-id='type-id-114'/>
>>    ++      <parameter type-id='type-id-114'/>
>>    ++      <parameter type-id='type-id-114'/>
>>    ++      <parameter type-id='type-id-114'/>
>>    ++      <return type-id='type-id-114'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1469'>
>>    +       <parameter type-id='type-id-1410'/>
>>    +       <parameter type-id='type-id-1409'/>
>>    +@@ -10949,6 +11112,10 @@
>>    +       <parameter type-id='type-id-1379'/>
>>    +       <return type-id='type-id-841'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1477'>
>>    ++      <parameter type-id='type-id-899'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1478'>
>>    +       <parameter type-id='type-id-308'/>
>>    +       <return type-id='type-id-1538'/>
>>    +@@ -11075,12 +11242,26 @@
>>    +       <parameter type-id='type-id-53'/>
>>    +       <return type-id='type-id-1538'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1501'>
>>    ++      <parameter type-id='type-id-1343'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1502'>
>>    +       <parameter type-id='type-id-1347'/>
>>    +       <parameter type-id='type-id-67'/>
>>    +       <parameter type-id='type-id-67'/>
>>    +       <return type-id='type-id-1538'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1503'>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1504'>
>>    ++      <parameter type-id='type-id-279'/>
>>    ++      <parameter type-id='type-id-1356'/>
>>    ++      <parameter type-id='type-id-1346'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1505'>
>>    +       <parameter type-id='type-id-1357'/>
>>    +       <return type-id='type-id-1538'/>
>>    +@@ -11124,6 +11305,15 @@
>>    +       <parameter type-id='type-id-75'/>
>>    +       <return type-id='type-id-1538'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1514'>
>>    ++      <parameter type-id='type-id-274'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1515'>
>>    ++      <parameter type-id='type-id-274'/>
>>    ++      <parameter type-id='type-id-165'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1516'>
>>    +       <parameter type-id='type-id-139'/>
>>    +       <return type-id='type-id-1538'/>
>>    +@@ -11192,10 +11382,19 @@
>>    +       <parameter type-id='type-id-335'/>
>>    +       <return type-id='type-id-1538'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1528'>
>>    ++      <parameter type-id='type-id-577'/>
>>    ++      <parameter type-id='type-id-127'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1529'>
>>    +       <parameter type-id='type-id-241'/>
>>    +       <return type-id='type-id-1538'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1530'>
>>    ++      <parameter type-id='type-id-1418'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1531'>
>>    +       <parameter type-id='type-id-399'/>
>>    +       <return type-id='type-id-1538'/>
>>    +@@ -11210,6 +11409,10 @@
>>    +       <parameter type-id='type-id-114'/>
>>    +       <return type-id='type-id-1538'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1534'>
>>    ++      <parameter type-id='type-id-127'/>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1535'>
>>    +       <parameter type-id='type-id-127'/>
>>    +       <parameter type-id='type-id-1204'/>
>>    +@@ -11224,6 +11427,9 @@
>>    +       <parameter type-id='type-id-1550'/>
>>    +       <return type-id='type-id-1538'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1539'>
>>    ++      <return type-id='type-id-127'/>
>>    ++    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1540'>
>>    +       <parameter type-id='type-id-515'/>
>>    +       <parameter type-id='type-id-1123'/>
>>    +@@ -11241,223 +11447,6 @@
>>    +       <parameter type-id='type-id-114'/>
>>    +       <return type-id='type-id-127'/>
>>    +     </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1547'>
>>    +-      <parameter type-id='type-id-127'/>
>>    +-      <return type-id='type-id-127'/>
>>    +-    </function-type>
>>    +-    <type-decl name='void' id='type-id-1538'/>
>>    +-    <function-type size-in-bits='64' id='type-id-1112'>
>>    +-      <parameter type-id='type-id-614'/>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <return type-id='type-id-165'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1153'>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <return type-id='type-id-282'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1198'>
>>    +-      <parameter type-id='type-id-538'/>
>>    +-      <return type-id='type-id-530'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1220'>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1224'>
>>    +-      <parameter type-id='type-id-24'/>
>>    +-      <parameter type-id='type-id-1143'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1225'>
>>    +-      <parameter type-id='type-id-165'/>
>>    +-      <parameter type-id='type-id-1143'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1256'>
>>    +-      <parameter type-id='type-id-335'/>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1093'/>
>>    +-      <parameter type-id='type-id-125'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1283'>
>>    +-      <parameter type-id='type-id-559'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1284'>
>>    +-      <parameter type-id='type-id-559'/>
>>    +-      <parameter type-id='type-id-165'/>
>>    +-      <parameter type-id='type-id-332'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1285'>
>>    +-      <parameter type-id='type-id-559'/>
>>    +-      <parameter type-id='type-id-559'/>
>>    +-      <parameter type-id='type-id-165'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1286'>
>>    +-      <parameter type-id='type-id-1343'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1287'>
>>    +-      <parameter type-id='type-id-1343'/>
>>    +-      <parameter type-id='type-id-125'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1290'>
>>    +-      <parameter type-id='type-id-614'/>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1292'>
>>    +-      <parameter type-id='type-id-614'/>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1350'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1305'>
>>    +-      <parameter type-id='type-id-274'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1314'>
>>    +-      <parameter type-id='type-id-577'/>
>>    +-      <parameter type-id='type-id-559'/>
>>    +-      <parameter type-id='type-id-557'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1315'>
>>    +-      <parameter type-id='type-id-577'/>
>>    +-      <parameter type-id='type-id-557'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1316'>
>>    +-      <parameter type-id='type-id-577'/>
>>    +-      <parameter type-id='type-id-127'/>
>>    +-      <return type-id='type-id-53'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1363'>
>>    +-      <parameter type-id='type-id-1398'/>
>>    +-      <return type-id='type-id-67'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1427'>
>>    +-      <parameter type-id='type-id-1343'/>
>>    +-      <parameter type-id='type-id-1384'/>
>>    +-      <return type-id='type-id-1085'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1428'>
>>    +-      <return type-id='type-id-172'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1437'>
>>    +-      <return type-id='type-id-533'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1445'>
>>    +-      <parameter type-id='type-id-335'/>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1093'/>
>>    +-      <parameter type-id='type-id-24'/>
>>    +-      <parameter type-id='type-id-333'/>
>>    +-      <parameter type-id='type-id-176'/>
>>    +-      <return type-id='type-id-1027'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1449'>
>>    +-      <parameter type-id='type-id-1343'/>
>>    +-      <parameter type-id='type-id-24'/>
>>    +-      <parameter type-id='type-id-176'/>
>>    +-      <parameter type-id='type-id-333'/>
>>    +-      <return type-id='type-id-1027'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1451'>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1088'/>
>>    +-      <parameter type-id='type-id-24'/>
>>    +-      <return type-id='type-id-1027'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1452'>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1088'/>
>>    +-      <parameter type-id='type-id-165'/>
>>    +-      <parameter type-id='type-id-176'/>
>>    +-      <return type-id='type-id-1027'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1453'>
>>    +-      <parameter type-id='type-id-790'/>
>>    +-      <parameter type-id='type-id-1369'/>
>>    +-      <parameter type-id='type-id-24'/>
>>    +-      <return type-id='type-id-1027'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1454'>
>>    +-      <parameter type-id='type-id-790'/>
>>    +-      <parameter type-id='type-id-1369'/>
>>    +-      <parameter type-id='type-id-165'/>
>>    +-      <parameter type-id='type-id-176'/>
>>    +-      <return type-id='type-id-1027'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1460'>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1088'/>
>>    +-      <parameter type-id='type-id-53'/>
>>    +-      <return type-id='type-id-332'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1461'>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1093'/>
>>    +-      <parameter type-id='type-id-53'/>
>>    +-      <return type-id='type-id-332'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1468'>
>>    +-      <parameter type-id='type-id-335'/>
>>    +-      <parameter type-id='type-id-114'/>
>>    +-      <parameter type-id='type-id-114'/>
>>    +-      <parameter type-id='type-id-114'/>
>>    +-      <parameter type-id='type-id-114'/>
>>    +-      <return type-id='type-id-114'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1073'>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1477'>
>>    +-      <parameter type-id='type-id-899'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1501'>
>>    +-      <parameter type-id='type-id-1343'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1503'>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1504'>
>>    +-      <parameter type-id='type-id-279'/>
>>    +-      <parameter type-id='type-id-1356'/>
>>    +-      <parameter type-id='type-id-1346'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1514'>
>>    +-      <parameter type-id='type-id-274'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1515'>
>>    +-      <parameter type-id='type-id-274'/>
>>    +-      <parameter type-id='type-id-165'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1528'>
>>    +-      <parameter type-id='type-id-577'/>
>>    +-      <parameter type-id='type-id-127'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1530'>
>>    +-      <parameter type-id='type-id-1418'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1534'>
>>    +-      <parameter type-id='type-id-127'/>
>>    +-      <return type-id='type-id-1538'/>
>>    +-    </function-type>
>>    +-    <function-type size-in-bits='64' id='type-id-1539'>
>>    +-      <return type-id='type-id-127'/>
>>    +-    </function-type>
>>    +     <function-type size-in-bits='64' id='type-id-1543'>
>>    +       <parameter type-id='type-id-279'/>
>>    +       <return type-id='type-id-127'/>
>>    +@@ -11477,48 +11466,19 @@
>>    +       <parameter type-id='type-id-1412'/>
>>    +       <return type-id='type-id-127'/>
>>    +     </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1547'>
>>    ++      <parameter type-id='type-id-127'/>
>>    ++      <return type-id='type-id-127'/>
>>    ++    </function-type>
>>    ++    <type-decl name='void' id='type-id-1538'/>
>>    ++    <function-type size-in-bits='64' id='type-id-1220'>
>>    ++      <return type-id='type-id-53'/>
>>    ++    </function-type>
>>    ++    <function-type size-in-bits='64' id='type-id-1073'>
>>    ++      <return type-id='type-id-1538'/>
>>    ++    </function-type>
>>    +   </abi-instr>
>>    +   <abi-instr address-size='64' path='drivers/mmc/host/sdhci.mod.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
>>    +-    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1555'/>
>>    +-    <class-decl name='audit_context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1556'/>
>>    +-    <class-decl name='backing_dev_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1557'/>
>>    +-    <class-decl name='bio_list' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1558'/>
>>    +-    <class-decl name='blk_plug' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1559'/>
>>    +-    <class-decl name='capture_control' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1560'/>
>>    +-    <class-decl name='cfs_rq' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1561'/>
>>    +-    <class-decl name='files_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1562'/>
>>    +-    <class-decl name='fs_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1563'/>
>>    +-    <class-decl name='ftrace_ret_stack' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1564'/>
>>    +-    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1565'/>
>>    +-    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1566'/>
>>    +-    <class-decl name='kioctx_table' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1567'/>
>>    +-    <class-decl name='kmem_cache' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1568'/>
>>    +-    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1569'/>
>>    +-    <class-decl name='mem_cgroup' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1570'/>
>>    +-    <class-decl name='module_notes_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1571'/>
>>    +-    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1572'/>
>>    +-    <class-decl name='module_sect_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1573'/>
>>    +-    <class-decl name='nameidata' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1574'/>
>>    +-    <class-decl name='perf_event' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1575'/>
>>    +-    <class-decl name='pipe_inode_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1576'/>
>>    +-    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1577'/>
>>    +-    <class-decl name='pollfd' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1578'/>
>>    +-    <class-decl name='rcu_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1579'/>
>>    +-    <class-decl name='reclaim_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1580'/>
>>    +-    <class-decl name='request_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1581'/>
>>    +-    <class-decl name='rt_mutex_waiter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1582'/>
>>    +-    <class-decl name='rt_rq' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1583'/>
>>    +-    <class-decl name='sched_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1584'/>
>>    +-    <class-decl name='seccomp_filter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1585'/>
>>    +-    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1586'/>
>>    +-    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1587'/>
>>    +-    <class-decl name='task_group' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1588'/>
>>    +-    <class-decl name='trace_eval_map' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1589'/>
>>    +-    <class-decl name='trace_event_call' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1590'/>
>>    +-    <class-decl name='uprobe' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1591'/>
>>    +-    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1592'/>
>>    +-    <class-decl name='workqueue_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1593'/>
>>    +-    <class-decl name='xol_area' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1594'/>
>>    +     <var-decl name='__this_module' type-id='type-id-789' mangled-name='__this_module' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common/drivers/mmc/host/sdhci.mod.c' line='11' column='1' elf-symbol-id='__this_module'/>
>>    +   </abi-instr>
>>    + </abi-corpus>
>>    +ABIs differ:
>>    +[...]/source-libabigail/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
>>    +and:
>>    +[...]/build-libabigail/tests/output/test-read-dwarf/PR25007-sdhci.ko.abi
>>    +
>>    +FAIL runtestreaddwarf (exit status: 1)
>> 
>> Only that one test case.
>> 
>> The reordered 'function-type's -- but I've not yet verified whether
>> they're really just reordered -- may hint towards a sorting stability
>> issue, but there are also the disappearing 'class-decl's.
>> 
>> Unless somebody points out any misunderstanding on my side, I suppose I
>> shall try to figure out what's going wrong.
>> 
>> 
>> Grüße
>> Thomas
>> -----------------
>> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
> 
> -- 
>        Dodji
> 


      reply	other threads:[~2022-06-22 13:54 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-28 22:39 Thomas Schwinge
2022-01-31 14:38 ` Thomas Schwinge
2022-01-31 15:56   ` Giuliano Procida
2022-04-11 15:18     ` Dodji Seketeli
2022-04-12 15:20       ` Giuliano Procida
2022-04-12 16:16         ` Dodji Seketeli
2022-04-13  2:19           ` Ben Woodard
2022-04-13 18:00             ` Ben Woodard
2022-04-14  9:14             ` Dodji Seketeli
2022-04-18 16:42               ` Ben Woodard
2022-06-20 16:12 ` Dodji Seketeli
2022-06-22  8:09   ` Ben Woodard [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3BA457A8-B503-49A8-A6C1-EC8D11C6BE92@redhat.com \
    --to=woodard@redhat.com \
    --cc=dodji@seketeli.org \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).